更新時間:2020-07-16 15:14:56 來源:動力節(jié)點 瀏覽2031次
請分別實現(xiàn)深度和淺讀的對象克隆?
原理:
深度克隆和淺度克隆,Object中的克隆方法是淺度克隆。JDK規(guī)定了克隆需要滿足的一些條件,簡要總結一下就是:對某個對象進行克隆,對象的的成員變量如果包括引用類型或者數(shù)組,那么克隆的時候其實是不會把這些對象也帶著復制到克隆出來的對象里面的,只是復制一個引用,這個引用指向被克隆對象的成員對象,但是基本數(shù)據(jù)類型是會跟著被帶到克隆對象里面去的。而深度可能就是把對象的所有屬性都統(tǒng)統(tǒng)復制一份新的到目標對象里面去。簡單畫個對比圖:
實現(xiàn)方式:
1). 實現(xiàn)Serializable接口,通過對象的序列化和反序列化實現(xiàn)克隆,可以實現(xiàn)真正的深度克?。?/p>
2). 實現(xiàn)Cloneable接口并重寫Object類中的clone()方法,即可實現(xiàn)淺度克隆。
代碼:
以上就是動力節(jié)點java培訓機構的小編針對“樂視Java筆試題,你會不會解答這個程序”的內(nèi)容進行的回答,希望對大家有所幫助,如有疑問,請在線咨詢,有專業(yè)老師隨時為你服務。