單例模式的回顧

實現單例模式的寫法有很多種,下面列出單例的幾種常用的寫法,在寫單例的代碼前,回

顧下幾個方面內容。

1:單例的作用:保證應用程序中,一個(class)類只有一個實例對象。

2:單例的條件:
[list]
[*]
[*] 構造函數是私有的
[*]
[*] 有一個private static 該類型的實例變量
[*]
[*] 通過一個public static 的getInstance的方法,獲取它的引用。繼而調用其中的方法
[/list]


方式一:

public class Singleton {

//構造函數聲明爲private 表示只供內部調用
private Singleton(){};

private static Singleton instance = new Singleton();

public static Singleton getInstance(){
return instance;
}

}


方式二:

public class Singleton {

private Singleton(){};

private static Singleton instance = null;

public synchronized static Singleton getInstance(){
if (null == instance) {
return new Singleton();
}
return instance;
}
}


上面那種形式要更加安全些呢? 大多數的朋友認爲第二種形式要更加安全些
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章