java学习之多态(转型、特点)

多态:可以理解为事物存在的多种体现形态

1.多态的体现

     父类的引用指向了自己的子类对象

     父类的引用也可以接受自己的子类对象

2.多态的前提

     必须是类与类之间有关系。要么继承,要么实现。

     通常还有一个前提:存在覆盖。

3.多态的好处

     多态的出现大大的提高程序员的扩展性

4.多态的弊端

     提高了扩展性,但是只能使用父类的引用访问父类中的成员

5.多态的应用

6.多态的出现代码中的特点(多态使用的注意事项)

     在多态中成员函数(指非静态成员函数)的特点:

     在编译时期:参阅引用型变量所属的类中是否有调用方法。如果有,编译通过如果没有编译失败。

     在运行时期:参阅对象所属的类中是否有调用的方法

     总结:a.成员函数在多态调用时,编译看左边,运行看右边

 

     b.在多态中,成员变量的特点:

     无论编译还是运行,都参考左边(引用型变量所属的类)

 

    c. 在多态中,静态成员函数的特点:

     无论编译还是运行,都参考左边

      

 

 

转型:

类型提升,向上转型。强制将父亲的引用,转成子类类型,向下转型。

注意:最好不要将父类对象转成子类类型,能转换的是父类应用指向了自己的子类对象时,该应用可以被提升,也可以被强制转换。

规律:多态自始至终都是子类对象在做着变化。

posted @ 2017-12-14 16:05  dreamy_java  阅读(211)  评论(0编辑  收藏  举报