Java编写测试多态性程序。首先编写动物类Animal,成员有:私有的静态种类名字字段kind及公共的get和set方法,公共的呼吸和行走方法及构造方法。然后分别编写继承动物类的鸟类Bird和马类Horse,除定义构造方法外,这些类均重写父类的行走方法。最后编写主类,依次构建各个上转型对象,调用其呼吸和行走等方法,得到不同结果。运行界面如图12-1所示:
时间: 2024-02-20 17:01:04 浏览: 113
Java静态方法不具有多态性详解
下面是Java编写的实现:
Animal类:
```java
public class Animal {
private static String kind;
public Animal(String kind) {
this.kind = kind;
}
public static String getKind() {
return kind;
}
public static void setKind(String kind) {
Animal.kind = kind;
}
public void breath() {
System.out.println(kind + "正在呼吸");
}
public void walk() {
System.out.println(kind + "正在行走");
}
}
```
Bird类:
```java
public class Bird extends Animal {
public Bird(String kind) {
super(kind);
}
@Override
public void walk() {
System.out.println(getKind() + "正在飞行");
}
}
```
Horse类:
```java
public class Horse extends Animal {
public Horse(String kind) {
super(kind);
}
@Override
public void walk() {
System.out.println(getKind() + "正在奔跑");
}
}
```
主类:
```java
public class Main {
public static void main(String[] args) {
Animal animal1 = new Animal("动物");
Bird bird1 = new Bird("鸟");
Horse horse1 = new Horse("马");
Animal[] animals = {animal1, bird1, horse1};
for (Animal animal : animals) {
animal.breath();
animal.walk();
System.out.println("-----");
}
}
}
```
运行结果:
```
动物正在呼吸
动物正在行走
-----
鸟正在呼吸
鸟正在飞行
-----
马正在呼吸
马正在奔跑
-----
```
以上程序实现了多态性,可以看到不同的动物对象调用walk()方法得到了不同的结果。
阅读全文