java===java基础学习(11)---继承
继承可以解决代码复用,让编程更加靠近人的思维。当多个类存在相同的属性(变量)和方法时,可以从这些类中抽象出父类,在父类中定义这些相同的属性和方法。所有的子类不需要重新定义这些属性和方法,只需要通过extends语句来声明继承父类:
class 子类 extends 父类
这样,子类就会自动拥有父类定义的属性和方法。
*父类的public修饰符的属性和方法,protected修饰符的属性和方法,默认修饰符的属性和方法被子类继承了,父类的private修饰符的属性和方法不能被子类继承。
注意事项:
- 子类最多只能继承一个父类
- java所有的类都是object类的子类
下面是由继承Employee 类来定义Manager 类的格式, 关键字extends 表示继承。
public class Manager extends Employee{ 添加方法和域}
子类中继承父类的域和方法;
子类构造器
public Manger(String name, double salary, int year, int month, int day){ super(name, salary, year, month, day); bonus = 0;}
因为子类终的构造器不能直接访问父类的私有域,所以必须利用父类的构造器对这部分私有域进行初始化,可以使用super实现对父类构造器的调用。使用super调用构造器的语句必须是子类构造器的第一条语句。
package testbotoo;import java.time.LocalDate;public class Employee {private String name;private double salary;private LocalDate hireDay;public Employee(String name, double salary, int year, int month, int day){this.name = name;this.salary = salary;hireDay = LocalDate.of(year, month, day); }public String getName(){return name;}public double getSalary(){return salary;}}
package testbotoo;public class Manager extends Employee {private double bonus;/*** @param name the employee's name* @param salary the salary* @param year the hire year* @param month the dire onth * @param day the hire day */public Manager(String name, double salary, int year, int month, int day){super(name, salary, year, month, day);bonus = 0;}public double getSalary(){double baseSalary = super.getSalary();return baseSalary +bonus;}public void setBonus(double b){bonus = b;}}
package testbotoo;public class ManagerTest {public static void main(String[] args){Manager boss = new Manager("aaa",8000,1999,12,20);boss.setBonus(5000);Employee[] staff = new Employee[3];staff[0] = boss;staff[1] = new Employee("hary",5000,1989,3,15);staff[2] = new Employee("mayun",50000,1989,3,16);for (Employee e : staff)System.out.println("name="+e.getName()+",salary="+e.getSalary());}}
转载于:https://www.cnblogs.com/botoo/p/8744893.html
java===java基础学习(11)---继承相关推荐
- java入门基础学习(三)
文章目录 (一)有返回值的方法 (二)方法重载 习题 (一)有返回值的方法 格式:public static 返回值数据类型 方法名(参数){方法体return 数据;} 注意:1.返回值数据类型非v ...
- 【Java】Java零基础学习笔记
文章目录 前言 思维导图 前期准备 卸载JDK 安装JDK Hello,world 可能遇到情况 java程序运行机制 IDEA的安装 java基础部分 基础语法 运算符 包机制 javaDoc文档手 ...
- Java零基础学习全套视频笔记
Java零基础学习全套视频笔记 一.Java基础 1.注释 注释并不会被执行,是给我们写代码的人看的,防止项目结构代码太多忘记代码相关功能. 书写注释是一个非常好的习惯,平时写代码也一定要注意规范. ...
- 【J2ME 2D 游戏开发系列】◣HIMI游戏开发启蒙教程◢JAVA零基础学习J2ME游戏开发全过程!...
本站文章均为 李华明Himi 原创,转载务必在明显处注明: 转载自[黑米GameDev街区] 原文链接: http://www.himigame.com/j2me-2/774.html Himi从写 ...
- java多线程基础学习[狂神说java-多线程笔记]
java多线程基础学习 一.线程简介 1.类比 2.程序进程线程 3.线程的核心概念 二.线程的实现(重点) 调用方法与调用多线程的区别 Thread 类 1.thread使用方法 2. 代码实现 3 ...
- Java零基础学习难吗
java编程是入行互联网的小伙伴们大多数的选择,那么对于零基础的小伙伴来说Java零基础学习难吗?如果你是初学者,你可以很好的理解java编程语言.并不困难.如果你的学习能力比较高,那么你对Java的 ...
- Java零基础学习Java编程语言基础知…
很多Java编程初学者在刚接触Java语言程序的时候,不知道该学习掌握哪些必要的基础知识.下面就说说Java零基础学习Java编程语言基础知识的几个要点.希望能够对Java编程基础入门学习的新手有帮助 ...
- java编程基础学习需要多久的时间
Java是当前世界颇为流行的编程语言之一,很多想学习java的人都会听过一句话,先学好java基础,在考虑是自学还是培训学习,同时新的问题出现了,java基础包括什么,需要学习多久呢,对于小白来说,想 ...
- Java web基础学习笔记
1.xml概述 1.1xml:xml一种数据存储格式,这种数据存储格式在存储数据内容的同时,还能够保存数据之间的关系 1.2xml保存数据的方法:xml利用标签来保存数据的内容,利用标签之间的嵌套关系 ...
- (Java零基础学习笔记)第二章 Java中的基本语法
前言: 大家好! 我是BA unravel .如果你想和我一起学习JAVA,欢迎大家一起来学习这个世界上最好的语言! 学习目标: 一周掌握 Java 入门知识 学习内容: 1. 搭建 Java 开发环 ...
最新文章
- three.js(六) 地形法向量生成
- 用AI帮你找工作,领英是如何做的?
- LeetCode 122. Best Time to Buy and Sell Stock II--贪心--Java,C++,Python解法
- Windows WMIC命令使用详解(附实例)
- 小程序报错:Error: errCode: -404011 cloud function execution error | errMsg: cloud.callFunction:fail req..
- java hashset retain_Java HashSet retainAll()用法及代码示例
- WPS宏开发之VBA宏转JS宏
- 【数学建模】regress()函数进行回归分析| 美国人口预测
- 7-17 小红帽与大灰狼的故事
- ecli中@Data标签getset不起作用
- Microsoft同步工具SyncToy
- PMP 粗略量级估算与确定性估算
- 写一篇大数据背景下室内设计的论文
- 解决了.Net 2003“试图调试项目时发生错误”的问题
- 逆水寒2021最新服务器,2021年3月25日常规服务器合并投票结果公告
- 操作系统第五章——进程同步
- UI设计教程分享:关于海报的合成过程
- Excel表格转换为布尔表
- 颜色直方图, HSV直方图, histogram bins
- 解决TeamViewer远程连接受阻的方法
热门文章
- 第十四周项目三-数组类模板
- AndroidStudio2.2 Preview3中NDK开发之CMake和传统 JNI在目录结构和配置文件上的区别
- wireshark网络分析就这么简单_【读书笔记】2wireshark网络分析就这么简单——不同子网如何发送消息。...
- 卷积的定义及其物理意义_高等数学入门——高阶导数的定义及其物理意义
- python打开word并在前台显示_Python自动化办公之Word,全网最全看这一篇就够了
- 一种可以穿透还原卡和还原软件的代码
- 作业4(列表增加或者修改)
- 求二叉树第K层的节点个数+求二叉树叶子节点的个数
- mac 从终端打开应用程序
- [转]详细的mysql时间和日期函数