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

Assign one or another subclass to a single variable in Java

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

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

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

先声明一个共同祖先的变量,然后有条件地赋值给它:

Student student;

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

student.setNumAssignments();