遇到任何一件事情都可以使用三個單詞來解決。 what / Why / How
什麼是Singleton?
它一種設計模式,在這種模式下我們只能夠對某個類進行實例化一次
爲什麼要使用Singleton?
當一個對象需要對整個系統進行操作或者監控的時候 例如 任務管理器 或者 當系統中只存在某類一個對象時,系統的效率最高等。
怎麼樣實現singleton in java?
首先看一下singleton的類圖
那麼我們不難理解,在java中我們就簡單的將某個類的構造函數給私有化( private ),然後使用另外一個靜態的方法代替構造函數並檢測 instance對象是否爲空。
public class ClassicSingleton {
private int a = 0;
private static ClassicSingleton instance = null;
private ClassicSingleton() {
this.a++;
}
public static ClassicSingleton getInstance() {
if (instance == null) {
instance = new ClassicSingleton();
}
return instance;
}
public int getValue() {
return this.a;
}
}
測試代碼
public class test {
public static void main(String[] args) {
ClassicSingleton obj = ClassicSingleton.getInstance();
System.out.println(obj.getValue());
ClassicSingleton obj2 = ClassicSingleton.getInstance();
System.out.println(obj2.getValue());
}
}
有問題歡迎指出。