• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:javaの質問です。)

JavaのBronze試験についての質問

このQ&Aのポイント
  • JavaのBronze試験を受けるための準備に困っています。
  • 特に、サブクラスとスーパークラスの関係についての理解が不十分です。
  • 具体的には、なぜこの問題でSuperが表示されるのかが理解できません。

質問者が選んだベストアンサー

  • ベストアンサー
  • Tacosan
  • ベストアンサー率23% (3656/15482)
回答No.2

呼び出すメソッドを決めるときに使う型は ・インスタンスメソッド: インスタンスの動的な型 ・クラスメソッド: インスタンスの静的な型 じゃなかったっけ? 今の場合 obj に入っているインスタンスは「動的な型は Sub だけど静的な型は Super」だから, クラスメソッドである method を呼び出すときには (静的な型である) Super を使う, んだと思う.

noname#180736
質問者

お礼

ありがとうございました。 無事合格していました。

その他の回答 (1)

  • teketon
  • ベストアンサー率65% (141/215)
回答No.1

呼び出したメソッドにはstaticが付いているので、インスタンスではなくクラスメソッドを呼び出すことになります。 呼び出したメソッドにはstaticが付いていなかった場合、インスタンスメソッドを呼び出すので、その場合はSubが表示されます。 分かりにくければ、staticが付いているので Super.method()を実行していると考えればよいのではないでしょうか?

noname#180736
質問者

お礼

ありがとうございました。 無事合格していました。

関連するQ&A