2017-04-26 25 views
-1

我想知道当前指向它的变量现在指向另一个对象时,旧对象会发生什么。他们被删除或什么?如果我将一个新对象设置为已有另一个对象的变量,那么旧对象会发生什么变化?

classA var = new classA(); 
var = new classB(); 

是对象“ClassA的”(这是在变量创建“VAR”)删除当变量“VAR”设置等于对象“CLASSB”?

+0

这两个,第一个和第二个答案给出了很多关于你的问题的细节。并提示:请理解,这些事情** **记录在整个地方。任何涵盖垃圾收集的合理文档都可以解释这些内容。在提出这样的问题之前,你真的应该先做一些研究。 – GhostCat

+0

对不起,但在你告诉我之前我不知道“垃圾回收”。我搜索了我的问题,我找不到任何明确的答案。 –

回答

3

当一个对象的所有引用都不存在时,它就有资格作为垃圾进行删除。垃圾收集器迟早会从内存中删除这个对象。但如果有足够的记忆,那么'以后'可能根本不会发生:没有保证。

相关问题