多态 : 某一类事物的多种存在形态。
同一种行为表现出不同的状态
1.多态可以存在的前提:
子类与父类 继承
父类 引用 = new 子类 父类引用指向子类对象
接口与实现类 实现
接口 引用= new 实现类 接口回调
需要进行重写
2.多态的作用与好处
提高了代码复用性与扩展性,增加了后期代码的可维护性
前期可能不知道具体的子类(实现类)是怎样实现的,但是我们可以在父类,接口中
定义这些行为,让子类与实现类去实现。使用时使用的是父类的引用或者接口的引用,
这样它的扩展性与可维护性增强
存在的弊端
存在问题:在子类或实现类中独有的行为不可能通过父类引用或者接口的引用去调用。
3.多态的细节
1.实例方法
编译时:查看父类(父接口)中是否存在调用的方法
运行时: 调用的是子类(实现类)中重写的方法
2.实例属性
编译时:查看父类(接口)中是否存在这样的属性
运行时: 得到的是父类(接口)中的实例属性.
3.类方法
编译时:查看父类(父接口)中是否存在调用的方法
运行时: 调用的是父类中的类方法
4.怎样记忆:
1.实例方法单独记忆,编译时看等号左边,执行时看等号的右边
2.其它情况,编译等号左边,执行也看左边。
|
|