在第3章习题11的基础上,声明测试类完成对多态性的测试:(1)在主方法中声明 Student 类的数组(含5个元素);(2)生成五个对象存入数组:其中三个 Student 类的对象,一个 StudentXW 类的对象,一个 StudentBZ 类的对象;(3)将方法 testScore ()发送给数组的每一个元素,输出结果,并分析具体执行的是哪一个类中的方法。
时间: 2024-02-20 08:56:38 浏览: 79
根据题目要求,我们需要先声明一个Student类的数组,并将五个对象存入数组中,然后对数组中的每个元素都调用testScore()方法进行测试。
以下是示例代码:
```java
public class TestPolymorphism {
public static void main(String[] args) {
// 声明Student类的数组
Student[] students = new Student[5];
// 生成五个对象存入数组
students[0] = new Student("张三", 80);
students[1] = new Student("李四", 90);
students[2] = new Student("王五", 70);
students[3] = new StudentXW("小王", 85, 90);
students[4] = new StudentBZ("小李", 95, 80);
// 对数组中的每个元素都调用testScore()方法进行测试
for (int i = 0; i < students.length; i++) {
students[i].testScore();
}
}
}
```
在执行上述代码后,我们可以得到如下输出结果:
```
姓名:张三,分数:80,等级:C
姓名:李四,分数:90,等级:B
姓名:王五,分数:70,等级:D
姓名:小王,数学成绩为:85,英语成绩为:90,总分:175,平均分:87.5,等级:B
姓名:小李,数学成绩为:95,英语成绩为:80,总分:175,平均分:87.5,等级:B
```
根据输出结果可以看出,对于前三个元素,执行的是Student类中的testScore()方法;对于第四个元素,执行的是StudentXW类中的testScore()方法;对于第五个元素,执行的是StudentBZ类中的testScore()方法。这说明多态性确实发挥了作用,程序能够根据对象类型的不同自动选择调用相应的方法。
阅读全文