设计模式之多例模式

来源:互联网 发布:淘宝网药店购药 编辑:程序博客网 时间:2024/05/19 03:19
/** * 多例模式 */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);    }}
0 0
原创粉丝点击