Java:單例模式single
阿新 • • 發佈:2019-01-14
程式碼:
class Single{
private static Single INSTANCE=new Single();
private Single (){
}
public static Single getInstance(){
return INSTANCE;
}
}
class Example{
public static void main(String args[]){
Single s1=Single.getInstance();
Single s2=Single.getInstance();
System.out.println(s1==s2);
}
}
結果為true.
單例模式是指在設計一個類時,需要保證在整個程式的執行期間針對該類只存在一個例項物件。、
單例模式具有幾個特點:
1.類的構造方法使用private修飾,宣告為私有,這樣就不會在類的外部使用new關鍵字來建立例項物件。
2.在累的內部建立一個該類的例項物件,並使用靜態變數INSTANCE引用該物件,由於變數應該禁止外界直接訪問,因此使用private修飾,宣告為私有成員。
3.為了在類的外部獲得該類的例項物件,需要定義一個靜態方法getInstance(),用於返回該類的INSTANCE,由於方法是靜態的,外部可以使用“類名.方法名”的方式進行訪問。
從上述結果true,看出s1和s2引用的是同一個物件,也就是說兩次呼叫getInstance()方法是同一個物件,而getInstance()獲得是Single類例項物件的唯一途徑,因此Single類是一個單例的類。