懒汉单例设计模式
1.私有化构造函数
2.声明本类的引用类型变量,但是不要创建对象。
3.提供公共静态的方法 获取本类的 对象, 获取之前先判断是否已经创建了本类 对象,
如果已经创建了,那么直接返回对象即可,如果还没有创建,那么先创建本类的对象,
然后在返回。
推荐使用: 饿汉单例设计模式。因为懒汉单例设计模式会存在线程安全问题,目前还不能保证一个类
1.私有化构造函数
2.声明本类的引用类型变量,但是不要创建对象。
3.提供公共静态的方法 获取本类的 对象, 获取之前先判断是否已经创建了本类 对象,
如果已经创建了,那么直接返回对象即可,如果还没有创建,那么先创建本类的对象,
然后在返回。
推荐使用: 饿汉单例设计模式。因为懒汉单例设计模式会存在线程安全问题,目前还不能保证一个类
在内存中只有一对象。
class SingleLazy
{
//2.声明本类的引用类型变量,但是不要创建对象。
private static SingleLazy sl ;
private SingleLazy(){
//1.私有化构造函数
}
/*3.提供公共静态的方法 获取本类的 对象, 获取之前先判断是否已经创建了本类 对象,
如果已经创建了,那么直接返回对象即可,如果还没有创建,那么先创建本类的对象,
然后在返回。*/
public static SingleLazy getInstance(){
if (sl == null)
{
sl = new SingleLazy();
}
return sl;
}
}
public class SingletonPattern
{
public static void main(String[] args)
{
SingleLazy s1 = SingleLazy.getInstance();
SingleLazy s2 = SingleLazy.getInstance();
System.out.println("s1对象内存地址= "+s1+" s2对象内存地址= "+s2+'\n'+"s1 与 s2 是否相同?"+(s1 == s2));
}
}