1. 程式人生 > >10.謹慎地改寫clone

10.謹慎地改寫clone

    clone是對物件內域的直接複製,當域中有物件引用時,要分清淺複製和深複製。關於深複製淺複製可以參考:https://blog.csdn.net/qq_27469549/article/details/80501284

     所以在實現Cloneable介面的時候,要特別小心,所以要實現clone方法,要謹慎。或者退一步,我們根本不去利用克隆去實現,利用其它的途徑來實現物件的拷貝,拷貝建構函式就是其中一種。

    既然Cloneable具有以上那麼多問題,所以,可以安全地說,其它的介面不應該擴充套件這個介面,並且,為了繼承而設計的類也不應該實現這個介面。由於它具有那麼多缺點,有些專家級的程式設計師從來不去改寫clone方法,也從來不去呼叫它,除非是為了低開銷地拷貝一個數組。