• ベストアンサー

Javaの問題がわからない

Javaでわからない問題があります。 この画像の問題の続きが System.out.print(obj.methodB()+"); System.out.print(obj.methodA() ); コンパイル実行結果が正しいものはいくつかで 答えが1 2になるんですけど、どういう風に解いていけばできますか?どういう流れで

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

  • ベストアンサー
  • _kappe_
  • ベストアンサー率68% (1581/2304)
回答No.1

逆にお聞きしますけれど、どこが分かりませんか? (例) ・obj.methodB()の呼び出しでなぜ1が返ってくるのかが分からない ・そもそも、メソッドの呼び出しとか戻り値という概念が分からない 「どういう風に解いていけば」というご質問ですが、main()の内容を実行したら何が起こるかを順番に考えていけばいいだけです。 11行目 Testクラスのコンストラクターを呼んでTestクラスのオブジェクトを生成する。 12行目 11行目で作ったオブジェクトに対してmethodB()を呼ぶ。 →8行目 さらにmethodA()を呼ぶ。 →5行目 aの値を1増やして、その値を返す。 →8行目 methodA()からの戻り値をそのままmethodB()の戻り値として返す。 →12行目 methodB()からの戻り値をSystem.out.print()で出力する。 13行目 以下略。 分かりにくいとすれば、aの初期値が明示的に書かれていない(この場合0で初期化される)ところでしょうか。

関連するQ&A