當我創建類actor的實例時,我添加了對象派系。如何在每次創建對象時創建自動增量,並在其「被銷燬」時遞減
//Constructor
Actor(String name, Race race, Faction faction){
this.name = name;
this.race = race;
this.faction = faction;
}
我想,每一次的對象派使用由演員對象派增量內的自動計數,每一次的對象演員被破壞它遞減。
public class Faction {
private String name;
private int membersNum;
private ArrayList<Faction> knowFactionList = new ArrayList<Faction>();
private ArrayList<Relation> factionRelationList = new ArrayList<Relation>();
Faction(String name){
this.name = name;
}
public void addBattleMember(){
membersNum++;
}
public void removeBattleMember(){
membersNum--;
}
我現在在類Faction Manager中使用這個方法來創建列表,並在對象actor停止使用時手動減少。
public void buildActiveFactionsOnBattle(ArrayList<Actor> actorList) {
for (Actor act : actorList) {
act.getFaction().addBattleMember();
if (!activeFactionsOnBattle.contains(act.getFaction()))
activeFactionsOnBattle.add(act.getFaction());
}
}
最好的辦法就是靜態變量,並且每次在構造函數中使用派系時就增加它。 –
「對象被破壞」是什麼意思?你的意思是你的應用何時完成,或者什麼時候由JVM收集垃圾? –