java编写一个多态程序,创建 person(人):student(学生),teacher(教师),work(工人) 这样一个继承分级结构。在父类中提供 sayHello 方法,并在子类中覆盖该方法,从而根据 不同类型的 person 采取不同的行为。
时间: 2024-02-13 21:05:32 浏览: 115
好的,以下是我为您编写的 Java 代码:
```java
class Person {
public void sayHello() {
System.out.println("Hello, I am a person.");
}
}
class Student extends Person {
@Override
public void sayHello() {
System.out.println("Hello, I am a student.");
}
}
class Teacher extends Person {
@Override
public void sayHello() {
System.out.println("Hello, I am a teacher.");
}
}
class Worker extends Person {
@Override
public void sayHello() {
System.out.println("Hello, I am a worker.");
}
}
public class PolymorphismExample {
public static void main(String[] args) {
Person[] people = {
new Student(),
new Teacher(),
new Worker()
};
for (Person person : people) {
person.sayHello();
}
}
}
```
在这个示例中,我们定义了一个 `Person` 类和三个继承自 `Person` 的子类:`Student`、`Teacher` 和 `Worker`。每个子类都覆盖了 `sayHello` 方法以实现不同的行为。在 `main` 方法中,我们创建了一个 `Person` 类型的数组,并向其中添加三个子类的实例。然后我们遍历这个数组,对每个元素调用 `sayHello` 方法,因为每个元素都是 `Person` 类型,所以实际上会调用对应子类中覆盖的方法,从而实现了多态性。
阅读全文