问题:
【简答题】多态实验2——向下转型(将父类对象当作子类类型使用) 要求如下: 1、定义Animal接口
答案:
//定义Animal接口 interface Animal { void shout(); // 定义抽象方法shout() } //定义Cat类实现Animal接口 class Cat implements Animal { // 实现抽象方法shout() public void shout() { System.out.println("喵喵......"); } // 定义sleep()方法 void sleep() { System.out.println("猫睡觉......"); } } //定义Dog类实现Animal接口 class Dog implements Animal { // 实现shout()方法 public void shout() { System.out.println("汪汪......"); } } //定义测试类 public class Ch413 { public static void animalShout(Animal animal) { Cat cat = (Cat) animal; // 将父类animal对象强制转换为子类Cat类型 cat.shout(); // 调用cat的shout()方法 cat.sleep(); // 调用cat的sleep()方法 } public static void main(String args[]) { Cat cat = new Cat(); // 创建Cat类的实例对象 animalShout(cat); // 调用animalShout()方法,将cat作为参数传入 } }