单例模式
此种设计模式只涉及一个类,该类能够产生一个对象,且保证该对象在整个程序生命周期内只存在唯一的一个实例,用户不需要手动创建对象。该类的构造函数是私有的,且具体其本身的静态实例,并提供一个静态方法用于返回静态实例。
类图
代码实现
- 实现单例模式类
package com.pattern.singleobject;
public class SingleObject {
private SingleObject() {
}
public static SingleObject getInstance() {
return instance;
}
public void showMessage() {
System.out.println("SingleObject is created.");
}
private static SingleObject instance = new SingleObject();
}
- 主类
package com.pattern.singleobject;
public class SingleObjectDemo {
public static void main(String[] args) {
// TODO Auto-generated method stub
SingleObject obj = SingleObject.getInstance();
obj.showMessage();
}
}
总结
单例模式使得产生的实例只存在一份,因此在设计时需要在整个生命周期只初始化依次的对象,可以设计成单例模式。