java的克隆可以用来新建一个新的对象 。 但是为什么要用这种方法来进行新建对象  ?
我们用new 或者发射来建立对象不是方便吗 ?
求大神解答 。
javajava克隆

解决方案 »

  1.   

    new出来的新对象里面有内容么?
    new出来的对象是空的,拷贝的对象包含了原对象的所有内容。
    但是修改了拷贝的对象不会对原对象造成改变。
      

  2.   

    new只能得到一个初始状态的对象,克隆却可以得到任何一个时刻的对象状态,比如 你有一个User对象,并对User对象的相关属性做了赋值,现在想对当前这个User对象做一些操作如改变属性值等,但有不想改变当前这个对象的属性值,那么你就可以可能一个当前状态下的User对象,对新的这个对象操作。
      

  3.   


    顶3楼
         在编程中有时候我们会发现,当我们需要一个实例,可是这个实例的创建过程十分复杂,在执行过程中会消耗大量的时间,同时创建第一个实例和创建第二个时间的初始化信息并未改变。在此种情况下,直接New 一个实例对象显得太浪费,不合理。
        通过克隆可以提供程序的性能,其实这也是设计模式中
        原型模式所关注的内容!
      http://blog.csdn.net/kiritor/article/details/8656919[/url]
      

  4.   

    各位老大真的厉害 。  
    我终于明白了 。  
    thank all  of  you  !!