private class Node
{
Item name;
Node next;
public void deleteObject()
{
this = null;
}
}
是否可以删除类内的对象?我试图执行上面的操作,但它给出了一个错误,左侧应该是一个变量。Node
是内部类。谢谢。
Edit:
var1
and var2
当我删除时引用了此类的对象var1
通过做var1 = null
, 我要那个var2
也会被删除。
不,那不可能。也没有必要。
一旦无法从根对象之一访问该对象,该对象就可以进行垃圾回收(有效地释放)。基本上自我引用并不重要。
只需确保您永远不会存储对不再使用的对象的引用,其余的将由垃圾收集器处理。
关于您的编辑:
Edit:var1 和 var2 引用了此类的对象,当我通过 var1 = null 删除 var1 时,我希望 var2 也被删除。
您不能强迫另一个对象删除其引用。您必须明确告诉其他对象这样做。例如,如果您正在实现一个链接列表(如您的示例中所示),我建议您添加一个prev
参考并执行类似的操作:
if (prev != null)
prev.setNext(next); // make prev discard its reference to me (this).
if (next != null)
next.setPrev(prev); // make next discard its reference to me (this).
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)