首页 > 代码库 > 创建型模式--多例模式
创建型模式--多例模式
多例模式通常被划分为:有上限多例模式、无上限多例模式。
平时我们通过new一个对象的就是无上限多例模式。
什么叫有上限多例模式,其实就是单例模式的推广,创建>1个的实例(有限)。
代码描述:
<span style="font-size:18px;">public class Case { //保存有限个类的实例 private static ArrayList<Case> caseList=new ArrayList<Case>(); //创建实例的个数 private static final int MAX_NUM=2; /* * 在类初试化阶段执行静态初始化快 */ static{ for(int i=0;i<MAX_NUM;i++){ caseList.add(new Case()); } } //私有方法 private Case(){ } //定义static,类所有 public static Case getCase(){ Random random=new Random(); int count=random.nextInt(MAX_NUM); return caseList.get(count); } }</span>
在上面代码中,通过静态初始化块创建了有限个类的实例,通过geCase()方法随机获取实例。
如果我们不想通过随机获取实例,而是指定第几个实例的话,可以参看下面的代码:
<span style="font-size:18px;">public class Case { //保存有限个类的实例 private static ArrayList<Case> caseList=new ArrayList<Case>(); //创建实例的个数 private static final int MAX_NUM=2; /* * 在类初试化阶段执行静态初始化快 */ static{ for(int i=0;i<MAX_NUM;i++){ caseList.add(new Case()); } } //私有方法 private Case(){ } //定义static,类所有 public static Case getCase(final int index){ if(index<MAX_NUM&&index>=0){ return caseList.get(index); } return null; } }</span>
转载请注明出处:http://blog.csdn.net/hai_qing_xu_kong/article/details/42207289 情绪控_
创建型模式--多例模式
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。