我希望有人能帮助我。 我一直在研究这个问题了几个小时,并没有其他人似乎有同样的问题(我碰到过)。 我必须做一些真正的笨蛋的错误。
我是新来的Java,并设计了一个非常简单的Java程序。
我有一个学生叫抽象超。 这个Student
超有3个扩展类称为Graduate
, Undergraduate
和PartTime
。 学生类有几个抽象方法和几个非抽象方法。 我已验证中定义的所有抽象方法Students
已经在所有3个扩展类中实现。
现在我想要做一些事情,应该是非常简单的。 我试图实例化这些扩展的类之一。 如果我这样做:
Student student = new Student();
Netbeans的说, Student is abstract; can't be instantiated
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 = new Student[1];
但是,如果我再尝试做下一个合乎逻辑的做法:
student[0] = new Graduate();
我得到相同an enclosing instance...
错误。
底线是,我想知道我怎么可以实例Graduate
。 谁能帮我吗? 任何有识之士将不胜感激!
谢谢。