如果我有此类(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()
。或者,您也可以在船级中对船所属的ShipFleet拥有所有权,当“摧毁”该船时,您要求其所属的舰队将其删除。
class Sticks{
private static int no=5;
public void getSticks(){
no=no-2;
}
synchronized public void returnSticks(){
no=no+2;
}
public int getCount(){
return no;
}
}
//这是我用木棍做过的一个样品