设计一个动物声音“模拟器”,希望模拟器可以模拟许多动物的叫声,要求如下。 ·编写抽象类Animal。Animal抽象类有两个抽象方法cry()和getAnimalName(),即要求各种具体的动物给出自己的叫声和种类名称。 ·编写模拟器类 Simulator。该类有一个playSound(Animal animal)方法,该方法的参数是Animal类型。即参数 animal可以调用 Animal 的子类重写的 cry)方法播放具体动物的声音,调用子类重写的getAnimalName()方法显示动物种类的名称。 ·编写 Animal类的子类:Dog和 Cat类
时间: 2024-03-02 17:48:56 浏览: 96
好的,以下是符合您要求的代码实现:
Animal.java:
```java
public abstract class Animal {
public abstract void cry();
public abstract String getAnimalName();
}
```
Dog.java:
```java
public class Dog extends Animal {
@Override
public void cry() {
System.out.println("汪汪汪~");
}
@Override
public String getAnimalName() {
return "狗";
}
}
```
Cat.java:
```java
public class Cat extends Animal {
@Override
public void cry() {
System.out.println("喵喵喵~");
}
@Override
public String getAnimalName() {
return "猫";
}
}
```
Simulator.java:
```java
public class Simulator {
public void playSound(Animal animal) {
animal.cry();
System.out.println("这是一只" + animal.getAnimalName());
}
}
```
这样,您就可以使用以下方式来模拟不同动物的叫声:
```java
public static void main(String[] args) {
Simulator simulator = new Simulator();
Animal dog = new Dog();
Animal cat = new Cat();
simulator.playSound(dog);
simulator.playSound(cat);
}
```
输出结果为:
```
汪汪汪~
这是一只狗
喵喵喵~
这是一只猫
```
阅读全文