回答
A Singleton通常有一個私有的構造函數,因此Singleton類是唯一可以實例化唯一的單例實例的類。
e編輯。請閱讀 – recoInrelax
@recolnrelax您可以請添加一個片段,顯示您實際上做了什麼。 (我不明白該部分'分配給該單身人士的變量) – stacker
我沒有讀它的權利。 「Singleton類是唯一可以實例化唯一的單例實例的類」我現在明白了:p抱歉 – recoInrelax
這是singleton class
開發者負有責任,以確保該實例被多個電話重用。
作爲用戶,您不應該擔心。
class Singelton
{
private static Singelton _singelton = null;
private Singelton()
{
}
// NOT usable for Multithreaded program
public static Singelton CreateMe()
{
if(_singelton == null)
_singelton = new Singelton();
return _singelton;
}
}
現在,從你的代碼的任何地方,你可以實例Singelton
,有多少次你喜歡,每次將其分配給不同的參考。但c'tor只被調用一次。
我會用一個enum
enum Singleton {
INSTANCE:
}
或類似的東西不能被實例化不止一次和全局訪問更多。
命名創建/返回單身人士的方法的一般做法是getInstance()
。當你無法在創建單例的代碼中找到該位置時,我不理解這種情況,但可以搜索此方法名稱。
如果你想捕捉創建單身人士的確切時刻 - 你可以使用AOP。 AspectJ是java中的一個很好的例子。您將能夠在創建課程之前/之後執行您的代碼或調用getInstance()
方法。
如果您的問題是關於重複使用創建的單身人士,然後搜索此網站。 For example
- 1. Java實例位置
- 2. 的Java創建實例
- 3. 找到創建實例的用戶
- 4. Spring創建單例的多個實例?
- 5. 如何設置/創建泛型實例?
- 6. 在java中創建實例
- 7. Java:創建新實例
- 8. 如何單元測試實例創建?
- 9. android.app.Application單例實例被重新創建
- 10. 工廠方法創建單例實例
- 11. Dagger 2創建單例實例
- 12. 從實例存儲創建AMI - 如何查找實例存儲的安裝位置?
- 13. 如何創建CommonsMultipartFile實例
- 14. 如何創建QWebFrame實例
- 15. 如何*不*創建實例
- 16. 如何創建AsyncTask實例
- 17. 如何創建Solr實例
- 18. 查找位置,定位實例
- 19. 如何創建依賴類的單例實例?
- 20. 如何重置單例實例?
- 21. 創建例如用簡單的Java MVC
- 22. 如何創建可以找到Chrome或Firefox實例的DesiredCapabilities?
- 23. intellij想法:如何找到所有實例創建的類
- 24. 創建實例
- 25. 創建實例
- 26. 創建實例
- 27. 如何使用MEF爲每個線程創建單例實例
- 28. Java中,一個類的多個實例重置最新創建的實例
- 29. 如何在java中創建哪個實例無法創建?
- 30. 找到實例
你想知道哪個調用實例化單例(假設懶惰實例化)?如果是這樣,您可以修改單例以在調用構造函數時存儲/記錄堆棧跟蹤。 –