誰かが私を助けてくれることを願っています。私はこの問題を何時間も調査してきましたが、他の誰も同じ問題を抱えていないようです (私が遭遇したものです)。私は本当に骨の折れる間違いを犯しているに違いありません。
私はJavaが初めてで、非常に単純なJavaプログラムを設計しました。
Student という抽象スーパークラスがあります。このスーパークラスには、、、および とStudent
呼ばれる 3 つの拡張クラスがあります。Student クラスには、いくつかの抽象メソッドといくつかの非抽象メソッドがあります。で定義されたすべての抽象メソッドが 3 つの拡張クラスすべてに実装されていることを確認しました。Graduate
Undergraduate
PartTime
Students
今、私は非常に単純であるべきことをしようとしています。これらの拡張クラスの 1 つをインスタンス化しようとしています。私がこれを行う場合:
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
です。誰でも私を助けることができますか?どんな洞察も大歓迎です!
ありがとう。