编写一个java应用程序,该程序有两个类,animal动物类,zoo动物园类
时间: 2024-10-18 20:21:36 浏览: 37
在Java中,你可以创建两个类,`Animal`代表一般的动物类别,而`Zoo`类则作为动物园的容器,展示如何使用这两个类体现多态的概念。
首先,我们定义`Animal`类作为基础类:
```java
// Animal.java
public class Animal {
protected String name;
public Animal(String name) {
this.name = name;
}
// 定义通用的行为,如叫声
public void makeSound() {
System.out.println("The animal makes a sound.");
}
}
```
接着,我们可以创建几个具体的动物子类,例如`Dog`, `Cat`等,它们继承自`Animal`并覆盖`makeSound()`方法:
```java
// Dog.java
public class Dog extends Animal {
public Dog(String name) {
super(name);
}
@Override
public void makeSound() {
System.out.println("The dog barks.");
}
}
// Cat.java
public class Cat extends Animal {
public Cat(String name) {
super(name);
}
@Override
public void makeSound() {
System.out.println("The cat meows.");
}
}
```
然后,在`Zoo`类中,我们可以有一个列表存储各种类型的动物,并通过它们的共同父类`Animal`来操作:
```java
// Zoo.java
import java.util.ArrayList;
import java.util.List;
public class Zoo {
private List<Animal> animals;
public Zoo() {
animals = new ArrayList<>();
animals.add(new Dog("Rex"));
animals.add(new Cat("Mittens"));
}
public void introduceAnimals() {
for (Animal animal : animals) {
animal.makeSound();
}
}
}
```
在这个例子中,`Zoo`的`introduceAnimals()`方法展示了多态,因为不论传入的是`Dog`还是`Cat`,都会调用它们各自的`makeSound()`方法,体现了"同一种行为可以在不同类中实现"的理念。
阅读全文