本文介紹了使用.Clone()方法克隆對(duì)象與使用=Sign克隆對(duì)象有什么不同?的處理方法,對(duì)大家解決問(wèn)題具有一定的參考價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)吧!
問(wèn)題描述
我真的搞不懂.clone()
方法和試圖克隆對(duì)象時(shí)簡(jiǎn)單地在對(duì)象之間放置=
號(hào)有什么區(qū)別。
謝謝。
推薦答案
如果創(chuàng)建新狗:
Dog a = new Dog("Mike");
然后:
Dog b = a;
您將有一個(gè)Dog
和兩個(gè)引用相同Dog
的變量。因此正在做:
a.putHatOnHead("Fedora");
if (b.hasHatOnHead()) {
System.out.println("Has a hat: " + b.getHatName());
}
將打印狗有一頂Fedora帽子,因?yàn)?code>a和b
指的是同一只狗。
相反,執(zhí)行以下操作:
Dog b = a.clone();
現(xiàn)在您有兩個(gè)克隆狗。如果你給每只狗戴上帽子:
a.putHatOnHead("Rayden");
b.putHatOnHead("Fedora");
每只狗都有自己的帽子。
這篇關(guān)于使用.Clone()方法克隆對(duì)象與使用=Sign克隆對(duì)象有什么不同?的文章就介紹到這了,希望我們推薦的答案對(duì)大家有所幫助,