單例模式

單例模式是比較常用的設計模式,他的主要功能是該類只能產生一個對象,即每次使用該類的對象使用的是同一個對象。這個對象由該類自己產生,同時由該類向系統提供。

下面看他的一種具體實現

package single;

public class Danli {
	private static Danli dan = null;
	
	private Danli(){
		//可以對初始對象進行一些相應操作
	}
	
	public static Danli getInstance(){
		if(dan == null){
			dan = new Danli();
		}
		return dan;
	}
}

在這個類中創建一個該類的靜態對象dan,然後將他的構造函數私有化,經過構造函數私有化後,在外部不能通過new關鍵字創建一個新的對象。然後創建一個靜態方法getInstance(),該方法是用於向外部提供該單例對象,然後在外部使用該方法就能獲得該單例對象。

下面看一下測試代碼:

	@Test
	public void doe(){
		Danli d2 = Danli.getInstance();
		Danli d3 = Danli.getInstance();
		System.out.println(d2==d3);
	}

這裏使用JUnit進行測試,在該測試方法中通過getInstance方法獲取兩個Danli對象,然後判斷他們是否是同一個對象。最終輸出結果爲true。

 

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