如果我有这个类(C++):
class Ship {
public:
Ship() {
std::cout << "New ship created\n";
++shipCount;
}
~Ship() {
std::cout << "Ship destroyed!\n";
--shipCount;
}
private:
static unsigned int shipCount = 0;
}
如何在 Java 中达到相同的结果?
另外,我被告知不应重写 java 中的 finalize()
方法。
最佳答案
我会在包含船舶列表的 ShipFleet 类上对其进行建模。然后是包含船舶详细信息的船舶类别。在 Fleet 类中,我将拥有方法 join()
和 leave()
。或者,您还可以在船舶类别中拥有该船舶所属的船队的属性,当船舶被“摧毁”时,您可以要求其所属的船队将其移除。
关于java - 在 Java 中实现与 C++ 中的析构函数相同的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59638507/