多态

来源:互联网 发布:js给class加样式 编辑:程序博客网 时间:2024/05/27 06:50

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

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

多态
三个必要条件:

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

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

——成员访问特点

                   成员变量:编译看左边,运行看左边                    成员方法:编译看左边,运行看右边                   静态方法:编译看左边,运行看左边

——多态的好处和弊端

            ——好处                   提高了程序的维护性(由继承保证)                   提高了程序的扩展性(由多态保证)                   接口性            ——弊端                   不能访问子类特有功能            ——多态中的转型问题                    ——向上转型                           从子到父:父类引用指向子类对象                   ——向下转型                           从父到子:父类引用转为子类对象(强制类型转换)