有几种动物名词,啮齿动物(Rodent),老鼠(Mouse),鼹鼠(Gerbil),金黄大颊鼠(Hamster)。建立类的层次结构,其中层次中的类至少有一个为抽象类。 1.啮齿动物的主要习性有:寻找食物(findFood),吃食物(chewFood)。 2.对于不同的啮齿动物,都需要重写两种习性方法,以表明不同啮齿动物的不同行为习性。其中,寻找食物方法返回找到的食物名称,吃食物方法显示内容为:动物名+”吃“+找到的食物名 3.在主方法中创建一个啮齿动物数组,建立不同种类的啮齿动物
时间: 2023-06-09 19:06:19 浏览: 189
ratgraph:纽约市老鼠和啮齿动物目击事件的可视化
,分别调用它们的习性方法。
回答:
好的,您的问题我已经记录了下来。根据您的要求,我来为您实现类的层次结构,如下所示:
```java
abstract class Rodent {
public abstract String findFood();
public abstract String chewFood();
}
class Mouse extends Rodent {
@Override
public String findFood() {
return "Cheese";
}
@Override
public String chewFood() {
return "Mouse chews " + findFood();
}
}
class Gerbil extends Rodent {
@Override
public String findFood() {
return "Seeds";
}
@Override
public String chewFood() {
return "Gerbil chews " + findFood();
}
}
class Hamster extends Rodent {
@Override
public String findFood() {
return "Carrots";
}
@Override
public String chewFood() {
return "Hamster chews " + findFood();
}
}
```
以上代码实现了一个抽象类 `Rodent` 和继承自它的三个子类 `Mouse`,`Gerbil` 和 `Hamster`,它们分别覆写了 `Rodent` 类中的抽象方法。其中,`findFood()` 方法返回动物找到的食物名称,`chewFood()` 方法以动物名和食物名作为参数,返回表示吃食物的字符串。
接下来,我们在主方法中创建不同种类的啮齿动物数组,并调用它们的方法:
```java
public static void main(String[] args) {
Rodent[] rodents = {new Mouse(), new Gerbil(), new Hamster()};
for (Rodent rodent : rodents) {
System.out.println(rodent.findFood());
System.out.println(rodent.chewFood());
}
}
```
以上代码创建了一个包含三种啮齿动物的数组,然后使用增强型 `for` 循环遍历数组,调用每个啮齿动物的 `findFood()` 和 `chewFood()` 方法,并将结果打印在控制台上。
输出结果如下:
```
Cheese
Mouse chews Cheese
Seeds
Gerbil chews Seeds
Carrots
Hamster chews Carrots
```
以上就是基于您提供的要求,实现的一个简单的类的层次结构。如果您有任何问题,可以继续提问哦!
阅读全文