设计模式之多例模式
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); } }
相关文章推荐
- MVC HtmlHelper用法大全
- 关于坐标系和投影的相关知识探讨
- ftp、sftp、scp、ssh、openssh
- 网络编程浅谈
- BIT2014级软件学院程序设计-21括号序列
- Android应用开发经典面试题
- c#实现ping
- 0302软件构建与教学
- Mvc Autofac构造器注入
- 3.2 java中堆栈(stack)和堆(heap)(还在问静态变量放哪里,局部变量放哪里,静态区在哪里.....进来)
- Fedora 启动sshd服务:
- bash shell --数据流重导向
- Java代码规范
- 计算机网络知识整理
- 自动加锁
- Spring定时任务的几种实现
- hdu--5510
- Ubuntu12.04下录屏并且转换成Gif
- IOS-56-UIWebview浏览器中自定义底部导航栏透明效果的实现
- Android Studio运行项目报错