`

【单例模式】我为开源社区维基百科做贡献

 
阅读更多

小的不才,学习单例模式时,发现维基百科的单例模式代码有点小问题 ,已经被我 修改
原变量代码private static final Singleton instance= null,有误,final变量被赋值后是不可以再重新赋值的
应该修改为private static Singleton instance;
final关键字的用途如下:1、一个永不改变的编译时常量
                                 2、一个在运行时被初始化的值你不希望他改变
                                 3、一个既是static又是final的域只占据一段永不改变的存储空间
单例模式的创建主要有2中方式:
懒汉模式,全局的单例实例在第一次使用时被创建

public class Singleton {

	//懒汉模式,全局的单例实例在第一次被使用时创建
	private static Singleton instance = null;
	private Singleton() {
		super();
	}
	
	public static synchronized Singleton getInstance(){
		if(null==instance){
			instance = new Singleton();
		}
		return instance;
	}
}

 

饿汉模式:每次类被转载时,均需要重新再创建

public class Singleton {
	
	//饿汉模式,每次类被转载时,均需要创建
	private static Singleton instance = new Singleton();

	private Singleton() {
		super();
	}
	
	public static synchronized Singleton getInstance(){
		return instance;
	}
}
 

 

 

0
3
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics