Java がオブジェクトを処理する方法を確認するために次のテストを作成しましたが、かなり混乱しています。
public class MyClass
{
public String text = "original";
public MyClass(String text)
{
this.text = text;
}
}
次に、次の 2 つのシナリオを作成しました。
1.
String object1 = new String("original");
String object2 = new String("original");
object2 = object1;
object2 = "changed";
System.out.println(object1);
System.out.println(object2);
結果:
original
changed
2.
MyClass object1 = new MyClass("object1");
MyClass object2 = new MyClass("object2");
object2 = object1;
object2.text = "changed";
System.out.println(object1.text);
System.out.println(object2.text);
結果:
changed
changed
テキスト フィールドが静的フィールドのように共有されるのはなぜでしょうか。