在Java中为单个变量分配一个或另一个子类
我试图使用一个变量来调用子类方法,但是我有两个不同的子类,这个变量可能是。我有一个超级班的学生和一个子班的研究生和本科生。两个子类的方法调用相同,只是实现方式不同。基本上,我想要这样的东西:在Java中为单个变量分配一个或另一个子类,java,inheritance,subclass,Java,Inheritance,Subclass,我试图使用一个变量来调用子类方法,但是我有两个不同的子类,这个变量可能是。我有一个超级班的学生和一个子班的研究生和本科生。两个子类的方法调用相同,只是实现方式不同。基本上,我想要这样的东西: if (studentType == 1) { UnderGrad student = new UnderGrad(); } else { Grad student = new Grad(); } student.setNumAssignments(); student.setNumDis
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();
首先声明共同祖先的变量,然后有条件地分配给它:
Student student;
if (studentType == 1) {
student = new UnderGrad();
} else {
student = new Grad();
}
student.setNumAssignments();
您需要一个超类或接口来表示该变量。类似于
学生
家长班。那么实例就是您的子类版本。Student=studentType==1?新本科():新毕业生()代码>您需要一个超类或接口来表示该变量。类似于学生
家长班。那么实例就是您的子类版本。Student=studentType==1?新本科():新毕业生()代码>太棒了,谢谢。我已经将student变量初始化为一个新的student,而不是让if/else语句初始化它。太棒了,谢谢。我将student变量初始化为一个新student,而不是让if/else语句初始化它。