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