1)编写抽象类Mammal(哺乳动物),拥有抽象方法void move()和void eat (); (2)维承Mammal类编写 Cheetah(猎豹)、Dolphin(海豚)、Bat(蝙蝠)三个类,分别为它们编写move()和eat()方法覆盖父类中的同名方法,方法被调用后在命令行中输出合适的内容。(如Bat的move()方法输出“I’m flying.”,eat()方法输出“I eat insect.”) (3)创建包含main方法的Test类,在main方法中创建专门用于存储Mammal对象的Ar
时间: 2024-02-04 21:01:49 浏览: 23
好的,这个问题可以用 Java 代码来解决。以下是代码:
```java
// Mammal.java
public abstract class Mammal {
public abstract void move();
public abstract void eat();
}
// Cheetah.java
public class Cheetah extends Mammal {
public void move() {
System.out.println("I'm running.");
}
public void eat() {
System.out.println("I eat meat.");
}
}
// Dolphin.java
public class Dolphin extends Mammal {
public void move() {
System.out.println("I'm swimming.");
}
public void eat() {
System.out.println("I eat fish.");
}
}
// Bat.java
public class Bat extends Mammal {
public void move() {
System.out.println("I'm flying.");
}
public void eat() {
System.out.println("I eat insect.");
}
}
// Test.java
import java.util.ArrayList;
public class Test {
public static void main(String[] args) {
ArrayList<Mammal> animals = new ArrayList<Mammal>();
animals.add(new Cheetah());
animals.add(new Dolphin());
animals.add(new Bat());
for (Mammal animal : animals) {
animal.move();
animal.eat();
}
}
}
```
运行这段代码,它会输出:
```
I'm running.
I eat meat.
I'm swimming.
I eat fish.
I'm flying.
I eat insect.
```
注意,代码中使用了抽象类 Mammal 定义了 move() 和 eat() 两个抽象方法,然后继承 Mammal 类编写了 Cheetah、Dolphin 和 Bat 三个类,并覆盖了它们的 move() 和 eat() 方法。在 Test 类中创建了一个 ArrayList 对象,用于存储 Mammal 对象,然后将 Cheetah、Dolphin 和 Bat 对象添加到这个 ArrayList 中,并遍历这个 ArrayList,分别调用每个对象的 move() 和 eat() 方法,输出相应的内容。