完整设计模式目录见:https://blog.youkuaiyun.com/u013523089/article/details/82852049
有限多例:只能产生固定数量的实例
实现:通过类内部懒加载生成指定数量的实例,并防止new来创建实例
package com.zhaowd.test.designPattern.multitionPattern有限多例;
import java.util.ArrayList;
import java.util.List;
public class Emperor {
public int aaa;
//订单多例数量
private static final int count = 2;
//用来装单例
private static List<Emperor> list = new ArrayList<Emperor>();
private static List<String> listName = new ArrayList<String>();
//强制不让new
private Emperor(String name) {
listName.add(name);
}
static {
for(int i = 0; i < count ; i ++) {
list.add(new Emperor("皇帝" + i));
}
}
public static Emperor getInstance(int i) {
return list.get(i);
}
public static List<String> getListName() {
return listName;
}
}
public static void main(String[] args) {
Emperor.getInstance(0).aaa=10;
Emperor.getInstance(1).aaa=20;
System.out.println(Emperor.getInstance(Emperor.getListName().indexOf("皇帝0")).aaa);
System.out.println(Emperor.getInstance(Emperor.getListName().indexOf("皇帝1")).aaa);
}