Java單例模式

懶漢式

public class Singleton {

	private static Singleton singleton = null;

	// 構造方法私有化
	private Singleton() {
	}

	public static Singleton getInstance() {
		if (null == singleton) {
			synchronized (Singleton.class) {
				if (null == singleton) {
					singleton = new Singleton();
				}
			}
		}
		return singleton;
	}
}


 餓漢式

public class Singleton {

	// 構造方法私有化
	private Singleton() {
	}

	private static Singleton singleton = new Singleton();

	public static Singleton getInstance() {
		return singleton;
	}
}

 

使用內部類實現

public class Singleton{

	private Singleton(){
		
	}
	
	private static class innerClass {
		private static Singleton singleton = new Singleton();
	}
	
	public static Singleton getIntance(){
		return innerClass.singleton;
	}
}



 

發佈了52 篇原創文章 · 獲贊 12 · 訪問量 10萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章