单例设计模式:是指在程序的运行过程中,只有一个实例的存在。
同一个类的若干对象需要访问同一个数据,这个数据保存在静态变量中;
如果不同的类的若干对象访问同一个数据,其中一个解决方案就是单例。
① 把构造方法私有化
② 在类中提供一个私有的静态的本类的对象
③ 提供一个公共的静态的方法,返回这个对象
Singleton类:
public class Singleton {
//1)显示的定义了一个构造方法,系统只有这一个私有的构造方法
private Singleton(){
}
//2)提供一个私有的静态的本类的对象。懒汉式在定义对象之后不进行初始化
private static Singleton obj;
//3)提供一个公共的静态的方法返回本类的对象
public static Singleton getInstance(){
if(obj==null){
obj=new Singleton();
}
return obj;
}
}
测试Demo类:
public class Demo {
public static void main(String[] args) {
Singleton obj=Singleton.getInstance();
Singleton obj2=Singleton.getInstance();
System.out.println(obj);
System.out.println(obj2);
}
}