1)單身人士意味着班級有一個實例。有私人建構者。沒有辦法創建對象,除了反射。沒有子類。 如果我想克隆我的單例classthen類必須實現Cloneable並覆蓋clone()的權利。 我不會在我的Singleton類中實現Cloneable接口。 然後克隆如何打破我的單身。它是否正確。請澄清一些。如果我錯了。克隆如何破壞單身人士
什麼是拋出clonenotsupported異常的需要。
1)單身人士意味着班級有一個實例。有私人建構者。沒有辦法創建對象,除了反射。沒有子類。 如果我想克隆我的單例classthen類必須實現Cloneable並覆蓋clone()的權利。 我不會在我的Singleton類中實現Cloneable接口。 然後克隆如何打破我的單身。它是否正確。請澄清一些。如果我錯了。克隆如何破壞單身人士
什麼是拋出clonenotsupported異常的需要。
沒有理由實現Cloneable並重寫clone()以引發CloneNotSupportedException。目的。克隆,當Cloneable接口不存在時引發期望。
使用枚舉創建單例類的正確方法可以在我最喜歡的java書「Effective Java」中找到。請閱讀。
謝謝。這個工作在多線程環境中也是 –
你是指多線程環境中的枚舉方法嗎? – JTeam
這是不是很清楚你要求什麼。當你有一個singelton的時候 - 有沒有點**在序列化,或使它可克隆?! – GhostCat
我發現的一些教程,如克隆,反射和序列化打破單身。通過使用反射,我們可以將構造函數設置爲可訪問,我們可以創建對象,我同意。但在克隆和序列化鋤頭的情況下,它打破了。我的單身人士任何人都可以使用,但他們不能更改代碼rt。它是如何休息的。我想現在你有些想法是在問什麼。 –
如果有人想破壞你的代碼,你不能阻止它。簡單地說就是讓你的單身不克隆或者可序列化。不要花時間來防止這種事情發生。 – GhostCat