【问题标题】: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?我们初始化我们的主对象,并在其构造函数中创建一个新对象。当我们销毁主要对象时,它的创建会发生什么?
【发布时间】:2019-06-21 16:08:14
【问题描述】:

我认为标题非常具体,但这里有一些代码来举例说明这个问题。此外,我意识到聚合将是这个特定示例的正确选择,而且问题本身可能会带来 OOP 气味;然而,虽然我对 OOP 感兴趣,但我更感兴趣的是 Java 如何处理这里的对象销毁。

public class SuperMarket
{

    private Cashier mCashier;

    public SuperMarket(...)
    {

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

    }

}

并且正在运行。

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

这里发生了什么,没有其他引用存在(可能没关系,写这个时不确定):

listSuperMarkets.remove(0);

【问题讨论】:

  • 垃圾收集器最终会收集这些对象。

标签: java object constructor creation destruction


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 2013-06-21
    • 2014-03-02
    • 1970-01-01
    • 1970-01-01
    • 2012-08-06
    • 2018-08-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多