测试类中写一个方法,参数列表有一个参数Animla类型,
要求: 调用该方法分别传递Dog对象 和Cat 对象, 使用instanceof进行将转后调用eat,和他们的特有方法
代码示例:
package cn.zxj.com; public abstract class Animal { public abstract void eat(); }
package cn.zxj.com; public class Dog extends Animal{ public void keepHome(){ System.out.println("keepHome"); } @Override public void eat() { System.out.println("dog eat gt"); } }
package cn.zxj.com; public class Cat extends Animal{ public void catchMouse(){ System.out.println("catchMouse"); } @Override public void eat() { System.out.println("cat eat fish"); } }
package cn.zxj.com; public class Test { public static void eatTest(Animal animal){ if(animal instanceof Dog){ Dog dog = (Dog)animal; dog.eat(); dog.keepHome(); }else if(animal instanceof Cat){ Cat cat = (Cat)animal; cat.eat(); cat.catchMouse(); } } public static void main(String[] args){ Dog dog = new Dog(); eatTest(dog); } }