、按要求编写程序: (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对象的Arravlist<Mammal> list,并创建Cheetah、Dolphin、Bat 对象各一个,存入list,最后用遍历list,并用多态方式调用对象中的move()和eat()方法。
时间: 2024-03-17 22:42:49 浏览: 22
以下是 Java 代码实现:
Mammal.java
```java
public abstract class Mammal {
public abstract void move();
public abstract void eat();
}
```
Cheetah.java
```java
public class Cheetah extends Mammal {
@Override
public void move() {
System.out.println("I run fast.");
}
@Override
public void eat() {
System.out.println("I eat meat.");
}
}
```
Dolphin.java
```java
public class Dolphin extends Mammal {
@Override
public void move() {
System.out.println("I swim fast.");
}
@Override
public void eat() {
System.out.println("I eat fish.");
}
}
```
Bat.java
```java
public class Bat extends Mammal {
@Override
public void move() {
System.out.println("I'm flying.");
}
@Override
public void eat() {
System.out.println("I eat insect.");
}
}
```
Test.java
```java
import java.util.ArrayList;
public class Test {
public static void main(String[] args) {
ArrayList<Mammal> list = new ArrayList<>();
list.add(new Cheetah());
list.add(new Dolphin());
list.add(new Bat());
for (Mammal mammal : list) {
mammal.move();
mammal.eat();
}
}
}
```
以上代码实现了抽象类 Mammal 和三个子类 Cheetah、Dolphin、Bat,每个类都有重写父类中的 move() 和 eat() 方法。Test 类中创建一个存储 Mammal 对象的 ArrayList,并将三个子类对象存入其中,最后遍历 ArrayList 并使用多态方式调用对象中的 move() 和 eat() 方法。