下面是我的代码。我将该对象设置为null,但我的print语句仍可以name
正确打印该属性。谁能告诉我发生了什么事?
public class MyClass {
String name;
public String getName() {
return name;
}
public void setName(String s) {
name = s;
}
public static void main(String args[]) {
MyClass obj = new MyClass();
obj.changeName(obj);
System.out.println("Name = " + obj.getName());
}
public MyClass() {
name = "A";
}
public void changeName(MyClass obj) {
obj.setName("B");
obj = null;
}
}
输出为:
名称= B
obj = null
仅将本地变量obj
的方法的changeName
到null
。它不会以任何方式影响该变量引用的对象。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句