Java中clone()與new的區別?


為什么要使用clone()?

在實際編程過程中,我們常常要遇到這種情況:有一個對象A,在某一時刻A 中已經包含了一些有效值,此時可能會需要一個和A 完全相同新對象B,並且此后對B 任何改動都不會影響到A 中的值,也就是說,A 與B 是兩個獨立的對象,但B 的初始值是由A 對象確定的。
在Java 語言中,用簡單的賦值語句是不能滿足這種需求的。要滿足這種需求雖然有很多途徑,但實現clone()方法是其中最簡單,也是最高效的手段

clone()與new的區別

  1. clone()不會調用構造方法;new會調用構造方法
  2. clone()更快。clone()能快速創建一個已有對象的副本,即創建對象並且將已有對象中所有屬性值克隆;new只能在JVM中申請一個空的內存區域,對象的屬性值要通過構造方法賦值


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM