我希望有人可以帮助我。我已经研究这个问题几个小时了,似乎没有其他人遇到过同样的问题(我遇到过)。我一定犯了一些非常愚蠢的错误。
我是Java新手,设计了一个非常简单的Java程序。
我有一个名为 Student 的抽象超类。这个Student
超类有 3 个扩展类,分别称为Graduate
、Undergraduate
和PartTime
。Student 类有几个抽象方法和几个非抽象方法。我已经验证了Students
在所有 3 个扩展类中定义的所有抽象方法都已实现。
现在我正在尝试做一些应该非常简单的事情。我正在尝试实例化这些扩展类之一。如果我这样做:
Student student = new Student();
Netbeans说Student is abstract; can't be instantiated
。好的,好的,我明白为什么不能实例化抽象类了。然后我试试这个:
Student.Graduate student = new Graduate();
Netbeans说(an enclosing instance that contains studentmanager.Student.Graduate is required
studentmanager 是我的包名)。我不明白那是什么意思。但是,我确实发现我可以像这样实例化 Student 而不会出错:
Student[] student = new Student[1];
但是,如果我尝试做下一个合乎逻辑的事情:
student[0] = new Graduate();
我得到同样的an enclosing instance...
错误。
底线是我想知道如何实例化Graduate
. 谁能帮我吗?任何见解将不胜感激!
谢谢。