所以我有一个游戏类
public class Game {
public Game(int id){
this.gameId = id;
Waiting(); //TODO - Change place
} }
用法:Game game1 = new Game(1);
我正在努力让游戏经理返回特定的游戏类。
示例:getGame(1);
所以我尝试了这个:
public Game getGame(int id){
Game game = getGame(id);
return game;
}
我意识到它无法正常工作,因为我正在创建一个带有id的Game实例,并且我希望得到一个现有的Game实例。我没有一个关于如何解决这个问题的线索。
答案 0 :(得分:0)
最常见的解决方案:单一设计模式,Map
包含所有实例:
class Game {
private static final HashMap<Integer , Game> games = new HashMap<>();
public static Game getGame(int i){
if(games.get(i) == null)
games.put(i , new Game(i));
return games.get(i);
}
}