设计一个动物发生模拟器,用于模拟不同动物的叫声。比如狮吼、虎啸、狗旺旺、猫喵喵……。 定义抽象类Animal,包含两个抽象方法:获取动物类别getAnimalClass()、动物叫shout(); 然后基于抽象类Animal定义狗类Dog、猫类Cat和山羊Goat,用getAnimalClass()方法返回不同的动物类别(比如猫,狗,山羊),用shout()方法分别输出不同的叫声(比如喵喵、汪汪、咩咩)。 最后编写AnimalShoutTest类测试,输出: 猫的叫声:喵喵 狗的叫声:汪汪 山羊的叫声:咩咩 其中,在AnimalShoutTestMain类中,用speak(Animal animal){}方法输出动物animal的叫声,在main()方法中调用speak()方法,分别输出猫、狗和山羊对象的叫声。
时间: 2024-03-14 18:43:25 浏览: 145
以下是Java代码实现:
```java
// Animal抽象类
abstract class Animal {
public abstract String getAnimalClass(); // 获取动物类别的抽象方法
public abstract String shout(); // 动物叫的抽象方法
}
// 狗类
class Dog extends Animal {
@Override
public String getAnimalClass() {
return "狗";
}
@Override
public String shout() {
return "汪汪";
}
}
// 猫类
class Cat extends Animal {
@Override
public String getAnimalClass() {
return "猫";
}
@Override
public String shout() {
return "喵喵";
}
}
// 山羊类
class Goat extends Animal {
@Override
public String getAnimalClass() {
return "山羊";
}
@Override
public String shout() {
return "咩咩";
}
}
// 测试类
public class AnimalShoutTest {
public static void main(String[] args) {
Animal cat = new Cat();
Animal dog = new Dog();
Animal goat = new Goat();
speak(cat);
speak(dog);
speak(goat);
}
public static void speak(Animal animal) {
System.out.println(animal.getAnimalClass() + "的叫声:" + animal.shout());
}
}
```
输出结果为:
```
猫的叫声:喵喵
狗的叫声:汪汪
山羊的叫声:咩咩
```
阅读全文