Java编程定义一个学生类(Student),类中定义speak()方法。从学生类中分别派生出中学生(MiddleStudent)和大学生(CollegeStudent),通过继承学生类的方式实现多态。
时间: 2024-01-28 09:05:56 浏览: 57
好的,以下是Java代码实现:
```
// 学生类
public class Student {
public void speak() {
System.out.println("我是一名学生。");
}
}
// 中学生类
public class MiddleStudent extends Student {
@Override
public void speak() {
System.out.println("我是一名中学生。");
}
}
// 大学生类
public class CollegeStudent extends Student {
@Override
public void speak() {
System.out.println("我是一名大学生。");
}
}
```
在上述代码中,学生类定义了一个`speak()`方法,中学生和大学生通过继承学生类的方式来获得`speak()`方法,并且通过覆盖重写`speak()`方法来实现多态。当我们调用不同类的`speak()`方法时,会根据实际的对象类型来执行不同的方法。例如:
```
public static void main(String[] args) {
Student s = new Student();
MiddleStudent ms = new MiddleStudent();
CollegeStudent cs = new CollegeStudent();
s.speak(); // 输出 "我是一名学生。"
ms.speak(); // 输出 "我是一名中学生。"
cs.speak(); // 输出 "我是一名大学生。"
}
```
在上述代码中,我们创建了一个`Student`对象`s`,以及一个`MiddleStudent`对象`ms`和一个`CollegeStudent`对象`cs`,并分别调用它们的`speak()`方法,结果会根据实际的对象类型而执行对应的方法。
阅读全文