1.根据需求完成代码:
(1)定义一个动物类
a.行为:eat方法(无具体行为,不同动物吃的不一样)
(2)定义一个狗类继承动物类
a.行为:eat方法(啃骨头),看家方法
(3)定义一个猫类继承动物类
a.行为:eat方法(吃鱼),抓老鼠方法
(4)测试类:
a.定义一个方法,要求该方法既能接收狗对象也能接收猫对象 抽象类作为方法的参数 作为方法的返回值
在该方法的内部调用eat()方法,并且调用狗和猫的特有方法
public abstract class Animal {
public abstract void eat();
}
`public class Cat extends Animal {
@Override
public void eat() {
System.out.println("吃鱼!");
}
public void show(){
System.out.println("抓老鼠");
}
}
``public class Dog extends Animal {
@Override
public void eat() {
System.out.println("啃骨头!");
}
public void method(){
System.out.println("看家门!");
}
}
public class Test {
public static void main(String[] args) {
Cat c = new Cat();
Dog d = new Dog();
useAnimal(c);
useAnimal(d);
}
public static void useAnimal(Animal a){
a.eat();
if (a instanceof Cat) {
Cat c = (Cat) a;
c.show();
}
if (a instanceof Dog) {
Dog d = (Dog) a;
d.method();
}
}
}