将一个或另一个子类分配给Java中的单个变量

时间:2017-11-30 21:41:10

标签: java inheritance subclass

我正在尝试使用单个变量来调用子类方法,但我有两个不同的子类,变量可能是。我有一个超类Student和Grad和UnderGrad的子类。两个子类的方法都称为相同,只是以不同的方式实现。基本上,我想要这样的东西有效:

if (studentType == 1) {
    UnderGrad student = new UnderGrad();
} else {
    Grad student = new Grad();
}

student.setNumAssignments();
student.setNumDiscussions();
student.setNumMidweekAssignments();

1 个答案:

答案 0 :(得分:2)

首先声明共同祖先的变量,然后有条件地分配给它:

Student student;

if (studentType == 1) {
    student = new UnderGrad();
} else {
    student = new Grad();
}

student.setNumAssignments();