有一個(gè)對(duì)象A,在某一時(shí)刻A中已經(jīng)包含了一些有效值兼蜈,此時(shí)可能會(huì)需要一個(gè)和A完全相同新對(duì)象B攘残,并且此后對(duì)B任何改動(dòng)都不會(huì)影響到A中的值,也就是說为狸,A與B是兩個(gè)獨(dú)立的對(duì)象歼郭,但B的初始值是由A對(duì)象確定的。在Java語言中辐棒,用簡(jiǎn)單的賦值語句是不能滿足這種需求的病曾。要滿足這種需求雖然有很多途徑,但實(shí)現(xiàn)clone()方法是其中最簡(jiǎn)單漾根,也是最高效的手段泰涂。Java的所有類都默認(rèn)繼承java.lang.Object類,在java.lang.Object類中有一個(gè)方法clone()辐怕。JDK
API的說明文檔解釋這個(gè)方法將返回Object對(duì)象的一個(gè)拷貝逼蒙。要說明的有兩點(diǎn):一是拷貝對(duì)象返回的是一個(gè)新對(duì)象,而不是一個(gè)引用寄疏。二是拷貝對(duì)象與用new操作符返回的新對(duì)象的區(qū)別就是這個(gè)拷貝已經(jīng)包含了一些原來對(duì)象的信息是牢,而不是對(duì)象的初始信息僵井。