多态:即父类引用指向子类对象
子类是对父类的一个扩充,所以一般情况下子类较父类的功能更加强大,属性较父类更独特,定义父类引用指向子类对象可以使用子类强大的功能,又可以抽取父类的特性
因此父类类型的引用可以调用父类中所有的属性和方法,而在子类中定义父类中没有的方法是不能调用的,父类中的一个方法,只有在父类中定义而在子类中没有重写的情况下,才可以被父类类型的引用调用
动态绑定:对于父类中定义的方法,如果子类中也重写了这个方法,那么父类类型的引用将调用子类的这个方法(发生在非编译期)
多态的三个必要条件:
- 要有继承关系
- 子类重写父类的方法
- 父类的引用指向子类对象