1、多态的定义与使用格式
定义格式:父类类型 变量名=new 子类类型();
2、什么是多态:
当运行时调用引用变量的方法时,其方法行为总是表现出子类方法的行为特征,而不是父类方法的行为特征,这就表现出:
相同类型的变量调用同一个方法时表现出不同的行为特征,这就是多态。
3、多态的前提条件:
存在父子间的继承关系(extends)
子类中存在方法重写(override)
父类的引用类型指向子类对象(见1,对于父类中定义的方法,如果子类中重写了该方法,那么父类类型的引用将会调用子类中的这个方法)
4、多态中的成员特点:
java引用类型有两个:
编译时类型 编译时类型由声明该变量时使用的类型决定(编译看左边)
运行时类型 运行时类型由实际赋给该变量的对象决定(运行看右边)
5、多态的总结:
一、使用父类类型的引用指向子类的对象;
二、该引用只能调用父类中定义的方法和变量;
三、如果子类中重写了父类中的一个方法,那么在调用这个方法的时候,将会调用子类中的这个方法;
四、变量不能被重写(覆盖),”重写“的概念只针对方法,如果在子类中”重写“了父类中的变量,那么在编译时会报错。