定义一个学生类(Student),类中定义speak()方法。从学生类中分别派生出中学生(MiddleStudent)和大学生(CollegeStudent),通过继承学生类的方式实现多态,用Java写代码
时间: 2024-01-29 14:01:54 浏览: 27
好的,下面是Java代码实现:
```java
class Student {
public void speak() {
System.out.println("I am a student.");
}
}
class MiddleStudent extends Student {
public void speak() {
System.out.println("I am a middle school student.");
}
}
class CollegeStudent extends Student {
public void speak() {
System.out.println("I am a college student.");
}
}
// 测试
public class Test {
public static void main(String[] args) {
Student s1 = new Student();
Student s2 = new MiddleStudent();
Student s3 = new CollegeStudent();
s1.speak(); // I am a student.
s2.speak(); // I am a middle school student.
s3.speak(); // I am a college student.
}
}
```
这里我们定义了一个 `Student` 类,它有一个 `speak()` 方法,输出 "I am a student." 这句话。然后我们分别从 `Student` 类中派生出 `MiddleStudent` 和 `CollegeStudent` 两个子类,并分别重写了它们的 `speak()` 方法,输出不同的话。最后我们创建一个 `Student` 对象、一个 `MiddleStudent` 对象和一个 `CollegeStudent` 对象,并依次调用它们的 `speak()` 方法,可以看到它们分别输出了不同的话,这就是多态的体现。