--继承
--方法重写
--父类引用指向子类对象
package polymorphism1; public class Animal { String name; public void voice() { System.out.println("动物叫"); eat();//voice调用eat方法 } public void eat() { System.out.println("动物吃"); } } class Dog extends Animal{ //重写voice方法 public void voice() { System.out.println("狗叫"); } public void paly() { System.out.println("狗玩"); } } class Cat extends Animal{ //重写eat()方法 public void eat() { System.out.println("猫吃"); } }
package polymorphism1; public class Test { public static void main(String[] args) { Animal d=new Dog(); d.voice(); //狗叫 // d.play();不是重写的方法不能调用 Dog d1=(Dog)d;//强制转换类型 d1.paly(); //狗玩 Animal c=new Cat(); c.voice();//动物叫,猫吃 } }