设计一个训练场,这个训练场专门训练海豚,使它们能够跳舞dance()和发出“呼呼”的声音cry(),要求用内部类实现该训练场。
时间: 2024-05-08 17:17:52 浏览: 8
以下是使用内部类实现海豚训练场的示例代码:
```java
public class DolphinTrainingCenter {
private List<Dolphin> dolphins = new ArrayList<>();
public void trainDolphins() {
for (Dolphin dolphin : dolphins) {
dolphin.train();
}
}
public void addDolphin(String name) {
dolphins.add(new Dolphin(name));
}
private class Dolphin {
private String name;
public Dolphin(String name) {
this.name = name;
}
public void train() {
dance();
cry();
}
private void dance() {
System.out.println(name + " is dancing.");
}
private void cry() {
System.out.println(name + " is crying: 呼呼.");
}
}
public static void main(String[] args) {
DolphinTrainingCenter center = new DolphinTrainingCenter();
center.addDolphin("Dolphin1");
center.addDolphin("Dolphin2");
center.trainDolphins();
}
}
```
在上面的代码中,`DolphinTrainingCenter` 类包含了一个内部类 `Dolphin`,它代表了一个海豚。每个海豚都有一个名字,并且能够跳舞和发出“呼呼”的声音。
在 `DolphinTrainingCenter` 类中,有一个 `trainDolphins()` 方法,它会遍历所有的海豚,并对它们进行训练。`addDolphin()` 方法用于向训练场中添加新的海豚。
在 `Dolphin` 类中,有一个 `train()` 方法,它会调用 `dance()` 和 `cry()` 方法。`dance()` 方法会输出当前海豚正在跳舞的信息,`cry()` 方法会输出当前海豚正在发出“呼呼”的声音的信息。
在 `main()` 方法中,我们创建了一个 `DolphinTrainingCenter` 对象,并向其中添加了两只海豚。然后调用 `trainDolphins()` 方法对它们进行训练。输出结果如下:
```
Dolphin1 is dancing.
Dolphin1 is crying: 呼呼.
Dolphin2 is dancing.
Dolphin2 is crying: 呼呼.
```