多态(二)
abstract class Animal { abstract void eat(); } class Cat extends Animal { public void eat() { System.out.println("吃鱼"); } public void catchMouse() { System.out.println("抓老鼠"); } }
Animal a = new Cat();//向上转型
a.eat();//打印吃鱼
Cat c = (Cat)a;//强制将父类的引用转成子类类型,向下转型
c.catchMouse(); //这样做才能调用子类特有方法
总结:多态自始至终都是子类对象在做着变化