您的位置:首页 > 其它

设计模式之多例模式

2016-03-02 16:12 253 查看
/**
* 多例模式
*/
public class Emperor {
//最多只能有两个皇帝
private static int maxNumOfEmperor = 2;
//存储皇帝的名字
private static ArrayList emperorInfo=new ArrayList(maxNumOfEmperor);
//放置皇帝对象
private  static ArrayList<Emperor> emperor=new ArrayList<Emperor>(maxNumOfEmperor);
//当前的皇帝
private static int courentEmperor=0;

//在加载类的时候创建出所有对象
static {
//把所有的皇帝都产生出来
for(int i=0;i<maxNumOfEmperor;i++){
emperor.add(new Emperor("皇"+(i+1)+"帝"));
}
}
private Emperor(){

}
private Emperor(String info){
emperorInfo.add(info);
}

//随机产生一个
public static Emperor getInstance(){
Random random = new Random();
//随机产生一个
int courent = random.nextInt(maxNumOfEmperor);

return emperor.get(courent);
}
//获得要取得的那个
public static  Emperor getInstance(int courent){
return emperor.get(courent);
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: