有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

引用对象Java类字段?

我创建了以下测试,以了解Java如何处理对象,这让我有点困惑

public class MyClass
{
    public String text = "original";
    public MyClass(String text)
    {
        this.text = text;
    }
}

然后我创建了以下两个场景:

一,

String object1 = new String("original");
String object2 = new String("original");
object2 = object1;
object2 = "changed";
System.out.println(object1);
System.out.println(object2);

结果:

original
changed

二,

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

为什么文本字段像静态字段一样共享


共 (1) 个答案

  1. # 1 楼答案

    用图形表示来解释这种行为

    第一步

    MyClass object1 = new MyClass("object1");
    MyClass object2 = new MyClass("object2");
    

    第2步

    object2 = object1;
    

    第三步

    object2.text = "changed";
    

    enter image description here