- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:javaの質問です。)
JavaのBronze試験についての質問
このQ&Aのポイント
- JavaのBronze試験を受けるための準備に困っています。
- 特に、サブクラスとスーパークラスの関係についての理解が不十分です。
- 具体的には、なぜこの問題でSuperが表示されるのかが理解できません。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
呼び出すメソッドを決めるときに使う型は ・インスタンスメソッド: インスタンスの動的な型 ・クラスメソッド: インスタンスの静的な型 じゃなかったっけ? 今の場合 obj に入っているインスタンスは「動的な型は Sub だけど静的な型は Super」だから, クラスメソッドである method を呼び出すときには (静的な型である) Super を使う, んだと思う.
その他の回答 (1)
- teketon
- ベストアンサー率65% (141/215)
回答No.1
呼び出したメソッドにはstaticが付いているので、インスタンスではなくクラスメソッドを呼び出すことになります。 呼び出したメソッドにはstaticが付いていなかった場合、インスタンスメソッドを呼び出すので、その場合はSubが表示されます。 分かりにくければ、staticが付いているので Super.method()を実行していると考えればよいのではないでしょうか?
質問者
お礼
ありがとうございました。 無事合格していました。
お礼
ありがとうございました。 無事合格していました。