8.1 为何继承
提高代码复用行,使多态成为可能。
8.2 多继承?
Java中不支持多继承,但是对C++中的多继承机制进行了改进。(多继承可能导致调用的不确定性)
8.3 何时继承
类之间必须具有所属关系,不能为了调用某些成员而继承。
继承可理解为 is a 关系
A is a B,eg:Teacher is a Person.
8.4 this & super
this指本类对象的引用
super指向父类空间
8.5 成员函数的覆盖
子类方法覆盖父类方法时必须子类方法权限>=父类方法权限。
static方法只能被static方法覆盖。
8.6 子父类中的构造函数
默认的构造函数:
this(){
super();
return;
}
如果父类中没有空参构造函数,子类构造函数中必须第一行调用super(arg)
构造子类顺序:
1)内存中默认初始化
2) 调用this()
3)super()
4)显式初始化
5)继续执行this()
继承影响类的封装性
final可以修饰类/变量、方法,将不能被继承/覆盖。
final较多用于修饰常量。