用java接口写出这道编程题:有几种动物名词,啮齿动物(Rodent),老鼠(Mouse),鼹鼠(Gerbil),金黄大颊鼠(Hamster),自行搜索相关知识,建立类的层次结构,其中层次中的类至少有一个为抽象类。 已知内容包括: 1. 啮齿动物的主要习性有:寻找食物(findFood),吃食物(chewFood),不同的啮齿动物要找的食物不同,吃不同食物的方法也不同。 2. 对于不同的啮齿动物,都需要重写两种习性方法,以表明不同啮齿动物的不同行为习性。其中,寻找食物方法返回找到的食物名称,吃食物方法显示内容为:动物名+”吃“+找到的食物名 3. 在主方法中创建一个啮齿动物数组,建立不同种类的啮齿动物,让每个动物吃它们找到的食物
时间: 2023-06-09 10:05:51 浏览: 175
我们来看一下实现代码:
```java
// 定义抽象类 Rodent
abstract class Rodent {
protected String name; // 动物名称
public Rodent(String name) {
this.name = name;
}
// 寻找食物方法,返回找到的食物名称
public abstract String findFood();
// 吃食物方法,显示内容为:动物名 ”吃“ 找到的食物名
public void chewFood(String food) {
System.out.println(name + " 吃 " + food);
}
}
// 继承 Rodent 创建老鼠类
class Mouse extends Rodent {
public Mouse(String name) {
super(name);
}
// 重写寻找食物方法
public String findFood() {
return "奶酪";
}
// 重写吃食物方法
public void chewFood(String food) {
if (food.equals("奶酪")) {
System.out.println(name + " 吃 " + food);
} else {
System.out.println(name + " 不想吃 " + food);
}
}
}
// 继承 Rodent 创建鼹鼠类
class Gerbil extends Rodent {
public Gerbil(String name) {
super(name);
}
// 重写寻找食物方法
public String findFood() {
return "种子";
}
// 重写吃食物方法
public void chewFood(String food) {
if (food.equals("种子")) {
System.out.println(name + " 吃 " + food);
} else {
System.out.println(name + " 不想吃 " + food);
}
}
}
// 继承 Rodent 创建金黄大颊鼠类
class Hamster extends Rodent {
public Hamster(String name) {
super(name);
}
// 重写寻找食物方法
public String findFood() {
return "胡萝卜";
}
// 重写吃食物方法
public void chewFood(String food) {
if (food.equals("胡萝卜")) {
System.out.println(name + " 吃 " + food);
} else {
System.out.println(name + " 不想吃 " + food);
}
}
}
// 创建主方法类
public class Main {
public static void main(String[] args) {
// 创建啮齿动物数组
Rodent[] rodents = new Rodent[3];
rodents[0] = new Mouse("小白");
rodents[1] = new Gerbil("小黄");
rodents[2] = new Hamster("小黑");
// 依次让每个动物寻找食物并吃掉它们找到的食物
for (Rodent rodent : rodents) {
String food = rodent.findFood();
rodent.chewFood(food);
}
}
}
```
在代码中,我们定义一个抽象类 `Rodent`,作为啮齿动物类层次结构的基类。然后我们通过继承 `Rodent` 创建了三种不同的啮齿动物类,并重写了 `findFood` 和 `chewFood` 两个方法,以表明不同啮齿动物的不同行为习性。在主方法中,我们创建了一个啮齿动物数组,依次让每个动物寻找食物并吃掉它们找到的食物。
阅读全文