2017-07-27 62 views
1

當我創建類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()); 
    } 
} 
+0

最好的辦法就是靜態變量,並且每次在構造函數中使用派系時就增加它。 –

+0

「對象被破壞」是什麼意思?你的意思是你的應用何時完成,或者什麼時候由JVM收集垃圾? –

回答

0

「要做到這一點是靜態的變量,並在構造函數中使用派遞增它的每 時候,演員的最好方式 - 忌諱薩阿德1分鐘 前」

我會走這條路,因爲它更容易。

某處在班級做一些事情,如:

static int fractionCount = 0; 

靜態變量,使得所有實例,爲說分數對象,引用相同的變量。

從一個類更改靜態變量將更改該類的所有實例的變量。

相關問題