单例模式设计方法
方法一:
1、私有化构造函数
2、声明一个该类的对象变量为成员变量,使用(private、static)修饰该成员变量,并赋值为null
3、提供一个公有的获取成员变量的静态方法,方法类型为该类,方法中判断成员变量 是否为空,若为空则new出该类的对象并赋值给成员变量,不为空则返回该成员变量
方法二:
1、私有化构造函数
2、new一个该类的实例为成员变量,并使用(private、static、final)这三个修饰符修饰该成员变量
3、提供一个公有的获取成员变量的静态方法,方法类型为该类
使用:使用类名调用该公有方法,获取该单例对象
应用场景:
1)、工厂类,使用工厂类获取一些类似会话、连接等对象时,在一个完整程序的某个功能模块的不同地方,是不能允许获取的会话或连接是不同工厂生成的,否则程序运行时会出现异常
代码:
方法一:
public class Model {
private static Model model = null;
private Model () {}
public static Model getModel () {
if (model == null) {
this.model = new Model();
}
return this.model;
}
…………
其它功能方法
…………
}
方法二:
public class Model {
private static final Model model = new Model();
private Model () {}
public static Model getModel () {
return this.model;
}
…………
其它功能方法
…………
}
日期:2019年4月4日晚上