Java SilverSE8 の勉強をしております。
教科書の問題で分からない部分があったので質問をさせてください。
資料:オラクル認定資格教科書 Javaプログラマ Silver SE 8
練習問題5-11 (201ページ)
問:コンパイル、実行した結果として正しいものを選びなさい。
public class Test { public static void main(String[] args) { Test ojb1 = new Test(); Test ojb2 = new Test(); System.out.print(ojb1 == ojb2); ojb2 = operate(ojb1, ojb2); System.out.print(" " + (ojb1 == ojb2)); } static Test operate(Test ojb1, Test ojb2) { Test ojb3 = ojb1; ojb1 = ojb2; return ojb3; } }
答:false true
なぜfalse falseにならないのか理解が出来ません。
ちなみに12行目(ojb1 = ojb2;)をコメントアウトして実行しても同じ結果になりました。
12行目の変更は無効なのでしょうか?
どなたか詳しい方解説をして頂けると大変助かります。
宜しくお願い致します。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/01/05 12:10