转机:
前期绑定、后期绑定
除了static方法和final(private方法属于final方法)方法之外,其他所有方法都是后期绑定
编译时,编译器不需要获得任何特殊信息就能进行正确的调用
缺陷:“覆盖私有方法”
只有非“private”方法才可以被覆盖
缺陷:域与静态方法
只有方法是多态的,当域是public时(导出类企图覆盖时),向上转型调用域会得到基类中的版本
静态方法是与类,而非与单个对象相关联的
构造器的调用顺序、构造器内部的多态方法的行为:
- 在其他仍和事物发生之前,将分配给对象的储存空间初始化成二进制的零
- 调用基类构造器
- 按声明顺序调用成员的初始化方法
- 调用导出类构造器的主体
构造器:用尽可能简单的方法是对象进入正确状态;如果可以的话,避免调用其他方法
可以调用final方法
协变返回类型:
导出类中的被覆盖方法可以返回基类方法的返回类型的某种导出类型
用继承表达行为间的差异,并用字段表达状态上的变化
向下转型与运行时类型识别:
“is-like-a"
(导出类)向上转型的引用.导出类扩展的方法
转型失败抛出ClassCastException(类转型异常)
第八章 多态
最新推荐文章于 2024-06-26 15:39:45 发布