前言
其实之前也写过单例模式,说起单例模式,通过将构造函数私有化防止被外部类创建,保证一个类只有一个实例。而多例模式也很简明,就是一个类只有有一定上限个实例。
代码实现
public class Multition {
public static final int COUNT = 10;
private int index;
private static List<Multition> multitions = new ArrayList<Multition>(COUNT);
static {
for (int i = 0; i < COUNT; i ++) {
Multition multition = new Multition();
multition.index = i;
multitions.add(multition);
}
}
private Multition() {}
public static Multition getInstance() {
Random random = new Random();
int index = random.nextInt(COUNT);
return getInstance(index);
}
public static Multition getInstance(int index) {
Multition multition = multitions.get(index);
return multition;
}
public int getIndex() {
return index;
}
}
通过getInstance获取实例,可以随机获取,也可以根据下标获取。