多态的三个必要条件:
1.继承
2.重写
3.父类引用指向子类对象
解释:程序中定义的引用变量所指向的具体类型和变量发出的方法调用并不确定,在运行期间确定,这个引用变量发起的调用在运行期间确定指向哪个子类的具体对象执行,主要靠向上转型
对于多态,可以总结它为:
一、使用父类类型的引用指向子类的对象;
二、该引用只能调用父类中定义的方法和变量;
三、如果子类中重写了父类中的一个方法,那么在调用这个方法的时候,将会调用子类中的这个方法;(动态连接、动态调用)
四、变量不能被重写(覆盖),”重写“的概念只针对方法,如果在子类中”重写“了父类中的变量,那么在编译时会报错。
多态还可以用来做类型约束,编译器就可以确定对象类型,避免类型转换异常