我们初始化我们的 main object,并在其构造函数中创建一个新的 object。当我们销毁 main object 时,它的创建会发生什么?

We initialize our main object, and it creates a new object in its constructor. When we destroy the main object, what happens to its creation?

我认为标题很具体,但这里有一些代码来举例说明问题。另外,我意识到聚合将是这个特定示例的正确选择,也许这个问题本身就带有 OOP 的味道;然而,虽然我对 OOP 很感兴趣,但我更感兴趣的是 Java 如何处理 object 销毁。

public class SuperMarket
{

    private Cashier mCashier;

    public SuperMarket(...)
    {

        this.mCashier = new Cashier(...);

    }

}

和运行.

listSuperMarkets.add(new SuperMarket(...));

这里发生了什么,没有其他引用存在(这可能无关紧要,写这篇文章时不确定):

listSuperMarkets.remove(0);

正如@tkausl 提到的,垃圾收集器将删除该对象,但更具体地说,您的对象将存在于堆中,直到垃圾收集器将其删除。