单例设计模式的概念
在某些特殊场合中,一个类对外提供且只提供一个对象时,这样的类叫做单例类,而设计单例的流程和思想叫做单例设计模式。
单例设计模式的实现流程
私有化构造方法,使用private关键字修饰。
声明本类类型的引用指向本类类型的对象,并使用private static关键字共同修饰。
提供公有的get方法负责将对象返回出去,并使用public static关键字共同修饰。
单例设计模式的实现方式
单例设计模式的实现方式有两种:饿汉式 和 懒汉式,开发中推荐饿汉式。
饿汉式demo
Singleton类
/*
编程实现Singleton类的封装
*/
public class Singleton {
// 2.声明本类类型的引用指向本类类型的对象,使用private static关键字共同修饰
private static Singleton sin = null; // 懒汉式
// 1.私有化构造方法,使用private关键字修饰
private Singleton() {
}
// 3.提供公有的get方法负责将对象返回出去,使用public static关键字共同修饰
public static Singleton getInstance() {
if (null == sin) {
sin = new Singleton();
}
return sin;
}
}
测试类
/*
编程实现Singleton类的测试
*/
public class SingletonTest {
public static void main(String[] args) {
Singleton s1 = Singleton.getInstance();
Singleton s2 = Singleton.getInstance();
System.out.println(s1 == s2); // true
}
}