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