多态:
前提:有继承或者实现关系
有方法的重写
父类的引用指向子类的对象
成员变量:(编译会去看父类有没有,如果没有就报错,运行是运行的父类的成员变量)
编译看左边(父类),运行看左边(父类)
成员方法的使用:(多态中非重写的成员方法编译的时候会去看父类中有没有如果没有就报错运行的时候就运行的父类自己的
多态中重写的成员方法 编译的时候 会去看父类中有没有 如果没有就报错运行的时候就运行的子类的)
编译看左边(左边),运行看右边(子类)
静态方法:
编译看左边,运行看左边
静态方法是谁的谁来调用,不属于继承这一范畴
多态的好处:
提高了代码的维护性(继承保证)
提高了代码的扩展性(由多态保证)
多态的弊端:
不能使用子类特有的属性和行为
|
|