1. 程式人生 > >Java:單例模式single

Java:單例模式single

程式碼:

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類是一個單例的類。