java中的多态
引用的多态
/javaDemo4/src/com/imooc/Animal.java
package com.imooc;public class Animal { }
/javaDemo4/src/com/imooc/Dog.java
package com.imooc;public class Dog extends Animal {}
/javaDemo4/src/com/imooc/Initail.java
package com.imooc;public class Initail { public static void main(String[] args) { Animal obj1 = new Animal(); Animal obj2 = new Dog(); //父类的引用是可以指向子类对象 //Dog obj3 = new Animal(); //报错 }}
方法多态
/javaDemo4/src/com/imooc/Animal.java
package com.imooc;public class Animal { public void eat() { System.out.print("动物具有吃的能力"); }}
/javaDemo4/src/com/imooc/Dog.java
package com.imooc;public class Dog extends Animal { public void eat() { System.out.print("狗具有吃肉的能力"); } public void watchDoor() { System.out.print("狗具有看门的能力"); }}
/javaDemo4/src/com/imooc/Initail.java
package com.imooc;public class Initail { public static void main(String[] args) { // TODO Auto-generated method stub Animal obj1 = new Animal(); Animal obj2 = new Dog(); //父类的引用是可以指向子类对象 //Dog obj3 = new Animal(); //报错 Animal obj3 = new Cat(); obj1.eat(); obj2.eat(); obj3.eat();// obj2.watchDoor(); }}