JavaSE进阶——该篇主要讲解Java中的多例设计模式
sum: 保证类中有固定数量的对象
多例设计模式及其作用
多例模式,是一种常用的设计模式之一。通过多例模式可以保证项目中,应用该模式的类有固定数量的实例。
多例设计模式的作用
多例类要自我创建并管理自己的实例,还要向外界提供获取本类实例的方法。
使用场景:线程池
1
| 线程池 = Executors.newFixedThreadPool(3);
|
多例设计模式实现步骤
- 创建一个类, 将构造方法私有化,使其不能在类的外部通过new关键字实例化该类对象。
在类中定义该类被创建对象的总数量
在类中定义存放类实例的list集合
在类中提供静态代码块,在静态代码块中创建类的实例
提供获取类实例的静态方法
多例设计模式的案例
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43
| package moreinstance;
import java.util.ArrayList; import java.util.Random;
public class Teacher { private Teacher() { }
private static int maxCount = 3;
private static ArrayList<Teacher> list = new ArrayList<>();
static { for (int i = 0; i < maxCount; i++) { list.add(new Teacher()); } }
public static Teacher getInstance() { int index = new Random().nextInt(3); return list.get(index); }
}
|