我創建了下面的測試,看看Java的如何處理對象和它混淆了我不少。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
現在爲什麼文本字段共享像一個靜態字段?
@DyapaSrikanth:如果你要提供一個答案,請這樣做*爲*的答案 - 但最好這樣做是全英文版,而不是文本發言。 –