单例模式:确保一个类只有一个实例,并且该类自动创建,向整个系统提供该实例。属于创建型模式。
- 恶汉式单例模式
//类初始化时就已经创建对象
public class SinglePattern {
private static SinglePattern single = new SinglePattern();
private SinglePattern(){}
public static SinglePattern createInstance(){
return single;
}
}
- 懒汉式单例模式
//需要使用时创建自身对象
public class SinglePattern {
private static SinglePattern single;
private SinglePattern(){}
public static SinglePattern createInstance(){
if(single == null)
single = new SinglePattern();
return single;
}
}
个人理解:单例模式是通过权限控制符来实现单例功能。将构造方法私有化,导致外部不能创建该类对象,只能调用该类静态方法createInstance()方法从而获取该类实例对象。隐藏了对象创建细节。