1).继承的概述
注意:1.继承主要解决的问题是共性提取,当都有姓名和工号时往上再定义一个员工类 讲师助教都属于员工的范畴
2.继承关系的特点子类可以拥有父类的内容还能有自己专有的内容
3.继承有父类 子类
2).继承的格式
注意:
1.子类和父类的定义格式不同。
2.这里设置的都是类 是//类// 思考类的概念比如Student Person这些
这里通过Employee父类中创建的一个方法来达到两个子类 Teacher 和 Assistant 都有这个方法
psvm 看其中方法的调用
Employee类 :父类
Teacher类 :子类 注意extends Employee
Assantant类: 子类 注意extends Employee
注意: 这里通过Employee父类中创建的一个方法来达到两个子类 Teacher 和 Assistant 都有这个方法
3).继承中变量的访问
1)不重名情况
父类
子类
psvm
2)重名情况
父类
子类
psvm
4).区分子类方法中重名的三种变量
注意:子类中三种
局部变量 直接写成员变量 本类的成员变量 this.成员变量名 父类的成员变量 super.成员变量名
父类
子类
psvm
5).继承中成员方法的访问特点
父类
子类
psvm
6).继承中方法的覆盖重写
继承中方法的覆盖重写(overread) 概念:在继承关系当中,方法的名称一样,参数列表也一样就产生了方法的重写。 重写(overread) 是发生在继承关系当中,方法的名称一样,参数列表也【一样】 也叫方法的覆盖重写 重载(overload) 方法的名称一样,参数列表【不一样】。 方法的覆盖重写特点,创建的是子类对象,则优先用子类方法
方法覆盖重写的注意事项 1.必须保证父子类之间[方法的名称][相同参数列表]也相同 @Override 写在方法前面,用来检测是不是有效的正确覆盖重写。 2.子类方法的返回值必须[小于等于]父类方法的返回值范围 Java.lang.Object类是所有类的公共最高父类(祖宗类 )object位于继承关系的顶端在塔尖 ,java.lang.String就是Object这个父类的子类 3.扩展提示:子类方法的权限必须大于等于父类方法的权限修饰符 public 》 protected》(default)>private 备注:(default)不是关键字,而是是什么不写的留空 比如 int num 就是default 再就是private int num;
上3.中实例 子类方法的权限必须大于等于父类方法的权限修饰符
一般来说 90%返回值和权限都是相等关系
父类
子类
psvm
7).继承中方法的覆盖重写--应用
注意:设计原则
继承的意思对于已经投入使用的类,尽量不要轻易改动,推荐定义一个新类,来重复利用其中的共性内容并且添加改动的新内容。旧的拿过来 增加啥就覆盖重写哪些
例如这个手机的例子 新手机添加新功能但是留着老手机的功能
Phone类
NewPhone类
psvm
8).继承中构造方法的访问特点
因为子类赠送的super();是个无参构造 ------这里往下看
Fu类
Zi类
psvm