我碰到一個實現Clonable
一些類代碼來了,文檔指出:讓我的類實現Cloneable有什麼意義?
一個類實現了Cloneable接口,以指示Object.clone()方法,它是合法的,該方法做一個現場該類的實例的現場副本。 在未實現Cloneable接口的實例上調用Object的克隆方法會導致引發異常CloneNotSupportedException。按照慣例,實現此接口的類應該使用公共方法重寫Object.clone(受保護)。有關覆蓋此方法的詳細信息,請參閱Object.clone()。 請注意,此接口不包含克隆方法。因此,僅憑藉其實現此接口的事實來克隆對象是不可能的。即使克隆方法是反射式調用,也不能保證它會成功。
我不明白在實現這個類的點,正如在文檔中所說的.clone
方法沒有在接口中實現,我必須實現它。那麼爲什麼要使用這個類?爲什麼我不會在我的類中編寫一個方法copyClass
來使對象複製而不執行此類?
在此先感謝。
您的類實現了Cloneable,因此您可以使用內置的克隆機制,以便其他類可以克隆您的類,而無需知道它的唯一克隆方法。是的,這是一種奇怪的管理方式,但部分原因是與向後兼容。 – 2013-05-12 13:20:44