单例设计模式:保证一个类在内存中只有一个对象
模式:解决一类问题的固定步骤
饿汉单例设计模式步骤:
1.私有化构造函数
2.声明本类的引用类型变量,并指向本类对象
3.提供一个公共静态方法返回本类对象
class Single
{
private static Single s = new Single();
private Single(){}
public static Single getInstance()
{
return s;
}
}
懒汉单例设计模式步骤:
1.私有化构造函数
2.声明本类的引用类型变量,但不创建本类对象
3.提供一个公共静态方法返回本类对象,返回之前判断本类对象是否存在,如果存在直接返回,不存在,创建本类对象并返回
class Single2
{
private static Single2 s;
private Single2(){};
public static Single2 getInstance(){
if(s == null)
{
s = new Single2();
}
return s;
}
}
总结:推荐使用饿汉单例设计模式因为懒汉单例设计模式存在线程安全问题,目前还不能保证在内存里只有一个对象