Java面向对象的特性( 九 )

一、引用多态

父类引用可以指向本类对象 Animal obj1 = new Animal();

父类引用可以指向子类对象 Animal obj2 = new Dog();

但是我们不能用子类的引用指向父类对象 Dog obj3 = new Animal();//错

山东掌趣网络科技

二、方法多态

类Animal中定义一个eat()方法 , 输出一个语句(动物有吃的能力); 在子类Dog中重写eat()方法 , 输出一个语句(狗是吃肉的); 那么我们在测试类main函数里面 , 如果obj1.eat() , 那么调用的是父类的方法. 若用obj2调用eat()方法 , 那么调用的是子类的方法

还有一种情况 , 比如创建一个继承父类Animal的子类Cat , 但是Cat里并不重写继承的eat()方法. 然后 , 我们在测试类main函数里创建一个子类对象 Animal obj3 = new Cat(); 然后调用 obj3.eat(); 那么 , 结果调用的则是子类继承父类的方法. (输出结果:动物有吃的能力)

推荐阅读