JAVA编写测试多态性程序。首先编写动物类Animal,成员有:私有的静态种类名字字段 kind及公共的get和set 方法,公共的呼吸和行走方法及构造方法。然后分别编写继承动物类的鸟类 Bird和马类 Horse,除定义构造方法外,这些类均重写父类的行走方法。最后编写主类,依次构建各个上转型对象,调用其呼吸和行走等方法,得到不同结果。运行界面如图12-1所示: = 构造动物类对象 请输入数字(1:鸟,2:马,其它:结束):1 构造一个鸟对象 鸟在呼吸... 鸟在飞翔... 请输入数字(1:鸟,2:马,其它:结束):2 构造一个马对象 马在呼吸... 马在奔跑... 请输入数字(1:鸟,2:马,其它:结束):3
时间: 2024-02-20 18:01:01 浏览: 80
好的,以下是Java代码实现:
Animal类:
```java
public class Animal {
private static String kind;
public String getKind() {
return kind;
}
public void setKind(String kind) {
Animal.kind = kind;
}
public void breathe() {
System.out.println(kind + "在呼吸...");
}
public void walk() {
System.out.println(kind + "在行走...");
}
public Animal(String kind) {
Animal.kind = kind;
}
}
```
Bird类:
```java
public class Bird extends Animal {
public Bird() {
super("鸟");
}
@Override
public void walk() {
System.out.println(getKind() + "在飞翔...");
}
}
```
Horse类:
```java
public class Horse extends Animal {
public Horse() {
super("马");
}
@Override
public void walk() {
System.out.println(getKind() + "在奔跑...");
}
}
```
Main类:
```java
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int num;
Animal animal;
do {
System.out.print("请输入数字(1:鸟,2:马,其它:结束):");
num = scanner.nextInt();
switch (num) {
case 1:
animal = new Bird();
animal.breathe();
animal.walk();
break;
case 2:
animal = new Horse();
animal.breathe();
animal.walk();
break;
default:
scanner.close();
return;
}
} while (true);
}
}
```
运行界面如图所示:
```
请输入数字(1:鸟,2:马,其它:结束):1
鸟在呼吸...
鸟在飞翔...
请输入数字(1:鸟,2:马,其它:结束):2
马在呼吸...
马在奔跑...
请输入数字(1:鸟,2:马,其它:结束):3
```
阅读全文