【发布时间】:2018-01-03 15:15:23
【问题描述】:
当我创建类角色的实例时,我添加了对象派系。
//Constructor
Actor(String name, Race race, Faction faction){
this.name = name;
this.race = race;
this.faction = faction;
}
我希望每次 actor 使用对象 faction 时,对象派系内的自动计数都会增加,并且每次对象 actor 被销毁并递减。
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 收集垃圾时?
标签: java auto-increment