5、编写一个接口 Animal,接口中定义 speak0方法,编写两个实现类Cat和Pig分别实现接口Animal,再编写一个测试类实现对象的类型转换。具体要求如下: (1)编写Animal接口,接口中定义speakO方法。 (2)Cat类和Pig类分别实现Animal接口的方法,且在Cat类中定义方法catchMouse).在Pig类中定义方法eat)。 (3)编写测试类(类名以姓名拼音加作业序号命名),在测试类中定义一个静态方法action(Animal a),该方法没有返回值,在该方法中调用speak(),分析a,如果a是Cat的实例,则调用它的catchMouse)方法,如果a是Pig的实例,则调用eat)方法; (4)在测试类的main方法中定义两个Animal类型a1、a2,分别创建Cat和Pig对象对,分别调用静态方法action(分别将a1和a2作为参数进行传递)。
时间: 2023-05-30 15:01:25 浏览: 162
1. Animal接口的定义
public interface Animal {
void speak();
}
2. Cat类和Pig类的实现
public class Cat implements Animal {
@Override
public void speak() {
System.out.println("喵喵喵");
}
public void catchMouse() {
System.out.println("抓老鼠");
}
}
public class Pig implements Animal {
@Override
public void speak() {
System.out.println("哼哼哼");
}
public void eat() {
System.out.println("吃东西");
}
}
3. 测试类的定义
public class Test5 {
public static void action(Animal a) {
a.speak();
if (a instanceof Cat) {
((Cat) a).catchMouse();
} else if (a instanceof Pig) {
((Pig) a).eat();
}
}
public static void main(String[] args) {
Animal a1 = new Cat();
Animal a2 = new Pig();
action(a1);
action(a2);
}
}
输出结果如下:
喵喵喵
抓老鼠
哼哼哼
吃东西
阅读全文