我认为标题非常具体,但是这里有一些代码可以说明问题。另外,我意识到聚合将是此特定示例的正确选择,并且可能问题本身带来了OOP的气味;但是,尽管我对OOP感兴趣,但是我对Java如何在此处处理对象破坏更感兴趣。
public class SuperMarket
{
private Cashier mCashier;
public SuperMarket(...)
{
this.mCashier = new Cashier(...);
}
}
正在运行。
listSuperMarkets.add(new SuperMarket(...));
这里发生了什么,没有其他引用存在(可能不重要,不确定在编写此引用时):
listSuperMarkets.remove(0);
答案 0 :(得分:3)
如@tkausl所述,垃圾收集器将删除该对象,但更具体地说,您的对象将存在于堆中,直到垃圾收集器将其删除为止。