18、继承
-
继承的本质是对某一批类的抽象,从而实现对现实世界更好的建模。
-
==extends==的意思是“扩展”。子类是父类的扩展
-
Java中类只有单继承,没有多继承!
-
继承是类和类之间的一种关系。除此之外,类和类之间的关系还有依赖、组合、聚合等。
-
继承关系的两个类,一个为子类(派生类),一个为父类(基类)。子类继承父类,使用关键字extends来表示
-
子类和父类之间,从意义上讲应该具有“is a”的关系
-
object类
-
super:(指代父类)(只能在继承的情况下使用)
-
this:(指代本身调用者这个对象)(没有继承也可以引用)
-
super调用父类的构造方法,必须在子类构造方法的第一行
-
super必须只能出现在子类的方法或者构造方法中!
-
super和 this 不能同时调用构造方法(因为都要在子类构造方法的第一行)
-
-
方法重写(只针对方法而言):重写是子类对父类的允许访问的方法的实现过程进行重新编写, 返回值和形参都不能改变。即外壳不变,核心重写!
-
需要有继承的关系:子类重写父类的方法!
-
不能有static的方法
-
方法名、参数列表、返回值必须相同
-
修饰符:子类的访问级别不能低于父类的访问级别:public>Protected>Default>private
-
抛出异常:范围,可以被缩小,但不能扩大:ClassNotFoundException -->Exception(大)
重写:子类的方法和父类必要一致:方法体不同!
为什么需要重写:
- 父类的功能,子类不一定需要,或者不一定满足子类的需求需要更改方法体
- Alt + Insert:override;
- 子类不想完全照搬父类的方法,想在从中做一定的修改那么就可以用重写
-
-
快捷键 Ctrl + H:展示继承树