我希望有人能指导我正确的方向。我似乎无法在任何地方找到解决这个问题的合适方案。
我有一个名为“Student”的抽象类。三个外部类扩展了Student,它们分别被称为“Graduate”、“Undergraduate”和“PartTime”。在我的主方法中,我想根据某些逻辑构造一个对象,可以是研究生、本科生或兼职学生。例如:
我有一个名为“Student”的抽象类。三个外部类扩展了Student,它们分别被称为“Graduate”、“Undergraduate”和“PartTime”。在我的主方法中,我想根据某些逻辑构造一个对象,可以是研究生、本科生或兼职学生。例如:
if (something) { Graduate student = new Graduate(); }
else if (something { Undergraduate student = new Undergraduate(); }
如果我尝试这样做,编译器(我正在使用Netbeans)会抱怨对象student已经被定义了。如果我尝试这样做:
Student student;
if (something) { student = new Graduate(); }
学生无法访问与研究生特有方法有关的任何方法。
如果我将三个扩展类作为Student的内部静态类,是否会有任何变化?
希望问题已经很清楚了。您有关于如何解决此问题的任何建议吗?感谢您提供任何建议!