【发布时间】:2012-06-01 08:27:12
【问题描述】:
我创建了以下测试来了解 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:如果您要提供答案,请作为答案提供 - 但最好使用完整的英语,而不是文字。
-
尝试真正学习 C 或 C++,你会理解任何其他编程语言...这是一个简单的对象引用问题...
标签: java object reference static field