随时随地阅读更多技术实战干货,获取项目源码、学习资料,请关注源代码社区公众号(ydmsq666)
一、多态
允许一个父类变量引用子类的对象,允许一个接口类型变量引用实现类对象。反过来却不行。
一句话:相同的行为,不同的实现。
使用父类类型的引用指向子类的对象。
该方法只能调用父类定义的方法,不能调用子类中独有的方法。
如果子类中重写了父类的一个方法,那么在调用该方法的时候,将会调用子类中的这个方法。
在多态中,子类可以调用父类中的所有方法。
多态主要体现为重载和重写。相同的行为不同的实现方式。
多态主要应用为多态参数和多态集合。
二、接口
接口可以看作是抽象类的特例。抽象类可以有抽象方法,也可以有具体方法,但接口只能有抽象方法,不能有具体方法。
抽象类可以看作属性和行为的抽象。但接口只有方法的抽象。