多态
(1)、作用:统一了操作接口
(2)、类中的多个方法的重载,父子类方法的覆盖,都可以看作是多态,多态又分为方法的多态和对象的多态。
(3)、多态的前提是:将子类当作父类来看。
父类名: a1=new 子类名();
(主观认为,编译时的类型) (客观存在,运行进类型)
所有的多态都可以归结为两个定理
定理一:我们可以把子类对象当作父类对象来看,但我们一旦这样做了,就只能去调用父类中原有定义的属性和方法。
子类中自己扩展和定义的方法就不能用了。
定理二:当我们把子类对象当作父类对象来看时,如果子类覆盖了父类中的方法,则调用该方法时,
调用的是子类覆盖后的方法. |
|