我在Java中工作了将近5年了,但仍然不明白如何在方法内部分配给对象的空引用不起作用
public class TestClass {
public static void main(String[] args) throws ParseException {
MutableObject instance = new MutableObject();
assignObject(instance.obj);
System.out.println(instance.obj == null ? "Obj is null" : "Obj is not null");
}
static void assignObject(NestedObject obj) {
obj = new NestedObject();
obj.val = 5;
}
static class MutableObject {
NestedObject obj;
}
static class NestedObject {
int val;
}
}
在上面的代码中,我的问题是为什么在方法内部创建的嵌套对象没有分配给作为参数传递的NestedObject的空引用。有人可以在jvm内存映射级别解释这一点吗?