3章8

RMAG news
public class Main {
public static void main(String[] args) {
// 新しいSampleオブジェクトを作成し、s1変数に代入
Sample s1 = new Sample(10);
// s1変数の値(Sampleオブジェクトの参照)をs2変数にコピー
Sample s2 = s1;
// 新しいSampleオブジェクトを作成し、s1変数に再度代入(最初のオブジェクトの参照は失われる)
s1 = new Sample(10);
// s1とs2が同じオブジェクトを参照しているかを確認(結果はfalse)
System.out.println(s1 == s2);
}
}

このコードでは、まずmainメソッド内でSampleクラスの新しいインスタンスが作成され、s1変数にその参照が格納されます。その後、s1の参照がs2にコピーされますが、s1に新しいSampleオブジェクトが再割り当てされるため、s1とs2は異なるオブジェクトを指すようになります。最後の行では、s1とs2が同じオブジェクトを参照しているかどうかをチェックしていますが、この場合はfalseとなります。なぜなら、s1には新しいオブジェクトが割り当てられ、s2は元のオブジェクトを参照し続けているからです。

Leave a Reply

Your email address will not be published. Required fields are marked *