单例模式代码解析



饿汉单例设计模式
1. 私有化构造函数。
2. 声明本类的静态的( 因为实例方法是静态的,要在方法中调用变量所以变量也必须是静态的才可以)私有化引用类型变量,并且使用该变量指向本类对象。

3. 提供一个公共静态的方法获取本类的对象。

public 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;
	}
}





推荐使用: 饿汉单例设计模式。  因为懒汉单例设计模式会存在线程安全问题,目前还不能保证一类在内存中只有一个对象。

猜你喜欢

转载自blog.csdn.net/qq_29569183/article/details/80637836