要求:定义一个Animal类(属性name,方法动物行走);定义一个Cat类继承自Animal(重写动物行走方法);定义一个Bird类继承自Animal(重写动物行走方式方法);定义一个孩子类,了解动物行走方式。定义一个测试类,输出"小猫可以地上走",“小鸟天上飞”。
时间: 2024-10-20 13:05:35 浏览: 43
首先,我们创建一个基本的`Animal`类,它包含一个名字属性和一个通用的`walk`方法:
```java
public class Animal {
private String name;
public Animal(String name) {
this.name = name;
}
// 定义通用的行走方法
public void walk() {
System.out.println(name + "在地上走");
}
}
```
接着,我们分别定义`Cat`和`Bird`类,它们都是`Animal`的子类,并覆盖了`walk`方法:
```java
public class Cat extends Animal {
public Cat(String name) {
super(name);
}
@Override
public void walk() {
System.out.println(name + "可以在地上走");
}
}
public class Bird extends Animal {
public Bird(String name) {
super(name);
}
@Override
public void walk() {
System.out.println(name + "在天上飞");
}
}
```
现在我们需要一个孩子类来了解不同类型的动物如何行走,这个孩子类我们可以命名为`ChildClass`,但是在这个场景下,通常我们会直接在测试类里演示:
```java
public class TestClass {
public static void main(String[] args) {
// 创建一只猫实例并显示其行走方式
Animal cat = new Cat("小猫");
cat.walk();
// 创建一只鸟实例并显示其行走方式
Animal bird = new Bird("小鸟");
bird.walk();
}
}
```
运行`TestClass`,会输出:
```
小猫可以在地上走
小鸟在天上飞
```
这就是多态的应用,通过子类重写父类的方法,可以根据实际的对象类型动态地调用相应的行为。
阅读全文