【发布时间】:2019-10-31 06:50:00
【问题描述】:
我有同一个对象的两个实例,我将主对象设为空,但引用仍然存在。 太好了,如果有人可以向我解释,发生了什么?也许有一些技术,允许在使主对象为空后使所有引用为空,而不是手动遍历所有实例并使它们为空。
public class Node <Item> {
Item item;
Node next;
}
public class JavaApplication1 {
public static void main(String[] args) {
Node<Integer> node = new Node<>();
Node<Integer> node2 = new Node<>();
Node<Integer> node3 = new Node<>();
node.item = 1;
node2 = node;
node3 = node;
node = null;
//reference still exists in node2/node3 instances
System.out.print(node2.item); // show 1
System.out.print(node3.item); // show 1
}
}
【问题讨论】:
-
“我有同一个对象的两个实例”。不,你有两个对同一个对象/实例的引用。