單例模式有許多寫法,可以結合自己理解選擇一個自己喜歡的
引入一個其他人的博客關于單例的不錯總結;
單例
單例模式 : 一個類有且只有一個實例(對象)
1st.私有化構造方法 防止類體之外隨意new對象
2nd.本類當中創建一個當前類型的對象(可以new 也可以在調用的時候new)
????為了防止無限套蛋的問題 應當使用static修飾(static修飾的屬性全局只有一份),為了防止惡意的修改 應當private修飾
3rd.提供一個公共的getter方法
????????這個方法應當是靜態的 必須是不需要對象就能調用
重點
//雙重檢查的單例 推薦使用的單例
public class Singleton {
? ? private static volatile Singleton singleton;
? ? private Singleton() {}
? ? public static Singleton getInstance() {
? ? ? ? if (singleton == null) {
? ? ? ? ? ? synchronized (Singleton.class) {
? ? ? ? ? ? ? ? if (singleton == null) {
? ? ? ? ? ? ? ? ? ? singleton = new Singleton();
? ? ? ? ? ? ? ? }
? ? ? ? ? ? }
? ? ? ? }
????? ?return singleton;
? ? }
浪客行1213的簡書
XHH