用JAVA编写描述动物的继承关系程序。动物包括山羊和狼,山羊和狼都具有名称和重量,但它们的行为不同,山羊吃草,狼吃肉,它们的叫声也不同,但走路行为一致。通过继承实现以上需求,并编写测试程序验证。
时间: 2024-12-17 11:37:54 浏览: 7
在Java中,我们可以使用继承和多态的概念来创建这个动物的家族树。首先,我们可以创建一个`Animal`类作为基础类,然后分别创建`Goat`(山羊)和`Wolf`(狼)类作为派生类。以下是基本的代码结构:
```java
// 基础Animal类
public class Animal {
private String name;
private double weight;
public Animal(String name, double weight) {
this.name = name;
this.weight = weight;
}
// 共享的行为,如走路
public void walk() {
System.out.println(name + " is walking.");
}
// 普通的行为,如叫唤
public void cry() {
System.out.println(name + " says something.");
}
}
// 山羊类,继承自Animal
public class Goat extends Animal {
public Goat(String name, double weight) {
super(name, weight);
}
// 行为特化:吃草
@Override
public void cry() {
System.out.println(name + " bleats.");
}
}
// 狼类,继承自Animal
public class Wolf extends Animal {
public Wolf(String name, double weight) {
super(name, weight);
}
// 行为特化:吃肉
@Override
public void cry() {
System.out.println(name + " howls.");
}
}
```
接下来,我们可以编写一个测试类来验证它们的行为:
```java
public class Main {
public static void main(String[] args) {
// 创建山羊和狼的对象
Goat goat = new Goat("Baa", 50.0);
Wolf wolf = new Wolf("Rex", 80.0);
// 测试它们的基本属性
System.out.println(goat.getName()); // 输出:Baa
System.out.println(goat.getWeight()); // 输出:50.0
// 测试共同的行为
goat.walk(); // 输出:Baa is walking.
wolf.walk(); // 输出:Rex is walking.
// 测试各自的特殊行为
goat.cry(); // 输出:Baa bleats.
wolf.cry(); // 输出:Rex howls.
}
}
```
运行这段程序,你会看到每个动物按照其特性执行相应的操作。
阅读全文