在java中实现C++中的析构函数相同的结果
如果我有这门课(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()
方法
# 1 楼答案
我会在一个有船只列表的ShipFleet类上建模。然后是一个关于船的详细信息的船类。在Fleet类中,我将有方法
join()
和leave()
。或者你也可以在船舶类别中拥有一个属于该船舶所属的船队的属性,当该船舶被“摧毁”时,你可以要求该船舶所属的船队将其移除