如何使類成為單例

2021-05-04 09:58:13 字數 528 閱讀 6026

/* 如果你定義了乙個類,比如 class myobject {}

* 可以通過如下方法可以使該類成為單例模式

* * myobject obj = (myobject)singletonpool.get(myobject.class);

* *

* 注意:該類必須要有乙個無引數的建構函式 */

public final class singletonpool

private static map objects = new hashtable();

/*** 獲取單例物件

* 該類必須要有乙個無引數的建構函式

* @comment

* @param objcls

* @return

*/public static object get(class objcls)

synchronized(singletonpool.class) catch (exception e)            

}return rtn;}}

單例類問題

有人在 iteye 上提出了單例類的問題,下面是乙個精彩的回答。寫乙個單例應該需要考慮乙個重要問題,物件是怎麼建立的 1 通過建構函式建立 2 通過反射建立 3 通過反序列化建立 4 通過 clone 建立提供的解決方案如下 1 禁止外部呼叫建構函式 設定private 2 禁止反射設定建構函式建立...

單例類模板

需求的提出 在架構設計時,某些類在整個系統生命期中最多只能有乙個物件存在 single instance 問題 如何定義乙個類,使得這個類最多只能建立乙個物件?要控制類的物件數目,必須對外隱藏建構函式。思路如下 程式設計實驗 單例模式初探 include include using namespac...

單例類模板

單例模式 需求的提出 在架構設計時,某些類在整個系統生命週期中最多只能有乙個物件存在 single instance 如何定義乙個類,使得這個類最多只能建立乙個物件?明確建立乙個物件,必然會呼叫建構函式。要控制類的物件數目,必須對外隱藏建構函式 思路 將建構函式的訪問屬性設定為private 定義i...