1.继承关系下的类初始化过程
(1)基类静态初始化块
(2)派生类静态初始化块
(3)基类实例初始化块
(4)基类构造函数
(5)派生类实例初始化块
(6)派生类构造函数
2.基类和派生类之间同名方法的关系
(1)重载:函数名相同,参数列表不同
(2)重写(覆盖):
特点:函数名相同,参数列表相同,函数体内容不同
应用:基类的引用,引用一个派生类的对象
注意的事项:(1)派生类方法的权限只能比基类的权限高或相等,不能降低权限
(2)基类的私有方法无法被覆盖
(3)基类中被定义为final的方法,不能再被派生类重写
3.基类的引用,引用一个派生类的对象
对象头有8个字节,其后4个字节存储方法表地址
RTTI的概念:Run-time type information 运行时的类型信息
Class对象中存储了关于此类对象的类型信息
方法表中:不存储静态方法,因为静态方法与对象无关
方法表中发现重写方法,则用派生类方法的地址覆盖基类方法的地址
普通方法都存储在方法表中,只能进行动态编译,普通方法从方法表中取地址。
4.动态的多态-----------运行时的多态