创建Rodent(啮齿动物)抽象类,提供对所有的Rodent通用的抽象方法,获取相关信息。Rodent的子类有Mouse(老鼠)、Mole(鼹鼠)、Hamster(仓鼠),老鼠属杂食,鼹鼠主食昆虫,仓鼠主食植物种子,在子类中,根据该子类特定的行为习性来实现这些通用的抽象方法,如获取子类的类型和主食类型,并输出这些信息。编写主类,分别创建Mouse、Mole、Hamster的对象,对象调用方法输出相关信息。
时间: 2023-11-28 09:03:40 浏览: 290
好的,我来帮您解答这个问题。
首先,我们需要创建一个Rodent(啮齿动物)的抽象类,提供对所有Rodent通用的抽象方法。这个类如下所示:
```java
public abstract class Rodent {
public abstract String getType();
public abstract String getFoodType();
}
```
注意,这个类是抽象的,因为我们不会直接创建Rodent对象,而是创建它的子类(Mouse、Mole、Hamster)的对象。
接下来,我们需要创建Mouse、Mole、Hamster的子类,并实现它们特定的行为习性。这些子类如下所示:
```java
public class Mouse extends Rodent {
public String getType() {
return "Mouse";
}
public String getFoodType() {
return "Omnivore";
}
}
public class Mole extends Rodent {
public String getType() {
return "Mole";
}
public String getFoodType() {
return "Insectivore";
}
}
public class Hamster extends Rodent {
public String getType() {
return "Hamster";
}
public String getFoodType() {
return "Herbivore";
}
}
```
每个子类都实现了getType和getFoodType方法,用于获取子类的类型和主食类型。例如,Mouse的getType方法返回字符串"Mouse",getFoodType方法返回字符串"Omnivore",表示老鼠是杂食动物。
最后,我们需要编写主类,创建Mouse、Mole、Hamster的对象,并调用它们的方法输出相关信息。主类如下所示:
```java
public class Main {
public static void main(String[] args) {
Rodent mouse = new Mouse();
Rodent mole = new Mole();
Rodent hamster = new Hamster();
System.out.println("Type: " + mouse.getType() + ", Food Type: " + mouse.getFoodType());
System.out.println("Type: " + mole.getType() + ", Food Type: " + mole.getFoodType());
System.out.println("Type: " + hamster.getType() + ", Food Type: " + hamster.getFoodType());
}
}
```
这个主类创建了三个Rodent对象,分别是Mouse、Mole、Hamster的实例。然后,它调用每个对象的getType和getFoodType方法,并输出相关信息。
当我们运行这个程序时,输出如下:
```
Type: Mouse, Food Type: Omnivore
Type: Mole, Food Type: Insectivore
Type: Hamster, Food Type: Herbivore
```
这表明我们的代码已经成功输出了每个啮齿动物的类型和主食类型,符合题目要求。
阅读全文