面向对象三大特征之一:多态性
理解多态性:可以理解为一个事物的多种形态
对象的多态性:父类的引用指向子类的对象,子类的对象赋给父类的引用。
Person p2 = new Man();
Person p3 = new Woman();
多态的使用,当调用子父类同名同参数的方法时,实际执行的时子类重写父类的方法----虚拟方法调用
有了对象的多态性以后,我们在编译期,只能调用父类中声明的方法,但是在运行期,我们实际执行的是子类重写父类的方法
总结:编译看左边,执行看右边。
多态性的使用前提:1. 类的继承关系 2. 方法的重写
p2.eat();
p2.walk;
对象的多态性,只适用于方法,不适用于属性(编译和运行都看左边)