java代码定义一个学生类(Student),类中定义speak()方法。从学生类中分别派生出中学生(MiddleStudent)和大学生(CollegeStudent),通过继承学生类的方式实现多态。
时间: 2024-01-29 11:01:54 浏览: 90
java定义一个学生类
好的,以下是Java代码定义一个学生类(Student),类中定义speak()方法,以及从学生类中分别派生出中学生(MiddleStudent)和大学生(CollegeStudent),通过继承学生类的方式实现多态的示例代码:
```java
//定义学生类
public class Student {
//定义speak()方法
public void speak() {
System.out.println("我是一个学生!");
}
}
//定义中学生类,继承自学生类
public class MiddleStudent extends Student {
//重写speak()方法
@Override
public void speak() {
System.out.println("我是一个中学生!");
}
}
//定义大学生类,继承自学生类
public class CollegeStudent extends Student {
//重写speak()方法
@Override
public void speak() {
System.out.println("我是一个大学生!");
}
}
//测试类
public class Test {
public static void main(String[] args) {
//创建学生对象
Student student = new Student();
//调用speak()方法,输出“我是一个学生!”
student.speak();
//创建中学生对象
MiddleStudent middleStudent = new MiddleStudent();
//调用speak()方法,输出“我是一个中学生!”
middleStudent.speak();
//创建大学生对象
CollegeStudent collegeStudent = new CollegeStudent();
//调用speak()方法,输出“我是一个大学生!”
collegeStudent.speak();
//利用多态,创建学生数组
Student[] students = {new Student(), new MiddleStudent(), new CollegeStudent()};
//循环遍历学生数组,调用speak()方法
for (Student s : students) {
s.speak();
}
}
}
```
输出结果为:
```
我是一个学生!
我是一个中学生!
我是一个大学生!
我是一个学生!
我是一个中学生!
我是一个大学生!
```
可以看到,通过继承学生类的方式,从学生类中分别派生出中学生和大学生,然后分别重写了speak()方法,在调用speak()方法时,会根据对象的实际类型调用对应的方法,从而实现了多态。同时,利用多态,我们还可以创建一个学生数组,然后循环遍历数组,调用speak()方法,这样可以更加方便地处理一组学生对象。
阅读全文