我正在尝试使用单个变量来调用子类方法,但我有两个不同的子类,变量可能是。我有一个超类Student和Grad和UnderGrad的子类。两个子类的方法都称为相同,只是以不同的方式实现。基本上,我想要这样的东西有效:
if (studentType == 1) {
UnderGrad student = new UnderGrad();
} else {
Grad student = new Grad();
}
student.setNumAssignments();
student.setNumDiscussions();
student.setNumMidweekAssignments();
答案 0 :(得分:2)
首先声明共同祖先的变量,然后有条件地分配给它:
Student student;
if (studentType == 1) {
student = new UnderGrad();
} else {
student = new Grad();
}
student.setNumAssignments();