类的多态性

方法的重载

重载(overload)是指同一个类中的多个方法可以同名,但参数的列表必须不同(参数类型、参数列表、参数顺序)。

方法的重写

重写(override)是指子类重新定义了超类或父类中的同名方法。在程序运行时究竟执行同名覆盖(重写)方法中的,哪一个方法,取决于调用该方法的对象所属的类是父类还是子类。Java寻找执行方法的原则是:从对象所属的类开始寻找匹配的方法执行;如果当前类中没有匹配方法,则逐层向上依次在父类中寻找匹配方法,直到object类。

多态

三个必要条件:

  • 要有继承关系; 
  • 要有方法重写;
  • 要有父类引用指向子类对象;  

对于同样的方法调用,依靠对象自己来表现出具体的特性。

 ——成员访问特点

                       成员变量:编译看左边,运行看左边 

                       成员方法:编译看左边,运行看右边

                       静态方法:编译看左边,运行看左边

——多态的好处和弊端

                ——好处

                       提高了程序的维护性(由继承保证)

                       提高了程序的扩展性(由多态保证)

                       接口性

                ——弊端

                       不能访问子类特有功能

                ——多态中的转型问题

                        ——向上转型

                               从子到父:父类引用指向子类对象

                       ——向下转型

                               从父到子:父类引用转为子类对象(强制类型转换)

posted @ 2017-08-09 15:15  WuKongGH  阅读(313)  评论(0编辑  收藏  举报