1、定义一个Animal类,包括类型、性别和年龄三个属性,以及say、run和toString方法。 定义一个Dog类继承Animal类。 定义主方法,创建Dog类对象,测试say方法、run方法和toString方法。
时间: 2025-02-23 16:33:43 浏览: 118
首先,我们来定义`Animal`类,然后是`Dog`类,并在`main`方法中创建`Dog`对象并调用其相应的方法。
```java
// Animal 类定义
public class Animal {
private String type;
private String gender;
private int age;
// 构造器
public Animal(String type, String gender, int age) {
this.type = type;
this.gender = gender;
this.age = age;
}
// say 方法
public void say() {
System.out.println("This is an animal.");
}
// run 方法
public void run() {
System.out.println("The animal is running.");
}
// toString 方法
@Override
public String toString() {
return "Animal{" +
"type='" + type + '\'' +
", gender='" + gender + '\'' +
", age=" + age +
'}';
}
}
// Dog 类继承自 Animal 类
public class Dog extends Animal {
// 可以添加特定于狗的行为或属性
// 如果需要覆盖父类的say方法,可以这样做
@Override
public void say() {
System.out.println("This is a dog.");
}
}
// 主方法
public static void main(String[] args) {
// 创建 Dog 对象
Dog myDog = new Dog("Canine", "Male", 5);
// 测试 say、run 和 toString 方法
myDog.say(); // 输出 "This is a dog."
myDog.run(); // 输出 "The animal is running." (因为 Dog 类直接继承了 Animal 的 run 方法)
System.out.println(myDog); // 输出 Dog 对象的详细信息(包含 type、gender 和 age)
}
```
在这个例子中,`Dog`类继承了`Animal`类,并重写了`say()`方法。当你运行`myDog.say()`时,输出将是"这是条狗"而不是默认的"这是一个动物"。同时,由于方法`run()`没有被重写,所以依然使用的是`Animal`类中的版本。`toString()`方法则提供了对象的简单描述。
阅读全文