首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

多态-简单

2013-11-11 
多态---简单1:作用? ? ? ? 可以消除类型之间的耦合关系。2:动态绑定(即多态)? ? ? ? 在运行期才知道对象的

多态---简单

1:作用

? ? ? ? 可以消除类型之间的耦合关系。

2:动态绑定(即多态)

? ? ? ? 在运行期才知道对象的类型(或才知道调用的是哪个对象的方法)

? ? ? ? 在java中除了static和final(private 也是final的)之外,都是动态绑定

?3:缺点:

? ? ? ? ?1):父类与子类有同名方法,但父类方法为private的,把子类对象赋值给父类字段,调用同名方法是父类的方法(private方法不能被重载)

? ? ? ? ?2):多态不会发生在private,域,静态方法中

4:构造方法和多态

? ? ? ?构造方法并不具有多态性(构造方法是static)

? ? ? ?构造方法的初始化顺序(有了多态之后)

? ? ? ? ? ? ?1):基类的构造器初始化(返复递归直到最底层的基本构造器)

? ? ? ? ? ? ?2):成员字段的构造器(用来确保字段都可以被正确的初始化)

? ? ? ? ? ? ?3):自己的构造器?

? ? ? ? 继承与清理的顺序

? ? ? ? ? ? ?子类的清理方法中最后一行一定要调用父类的清理方法(否则父类的清理方法将永远不被调用)

? ? ? ? ? ?

对于字段:销毁的顺序与声明的顺序相反
对于基类:销毁的顺序先子类后父类

?

问题?子类构造器初始化时,先调用父类构造器,父类构造器中调用了被覆盖的方法,此时这个方法是子类中的方法

?5:协变返回值类型

? ? ? 子类中被覆盖的方法,可以返回基类方法返回值的子类型?

?

热点排行