clone的时候,会把所有基本类型的变量赋值给clone出来的那个类。
但是,一般都只是浅度colne,也就是说,类对象是不会被clone的。
除非,成员变量的 那个类 本身也实现了clone()方法,那样就算是实现了深度clone。也不是很讲的清楚。
网上去搜一把,关于clone有很多文章介绍的。

解决方案 »

  1.   

    http://blog.csdn.net/treeroot/archive/2004/09/07/96936.aspx
      

  2.   

    clong是实现了一个接口,主要是对当前的OBJECT一个拷贝,当然包括该OBJECT所有成员。
      

  3.   

    当您的类需要返回一个对象时,并且这个对象并不是final的,所以必须要clong,否则容易破坏封装。
      

  4.   

    我想大家没有明白我的意思,我知道clone该怎么用,也知道他什么时候需要使用,我所不明白的仅仅是Object中的clone方法是如何实现的?
    查了一下thinking in java,总算找到了解释,Object中的clone执行的时候使用了RTTI(run-time type identification,找到目前正在使用的那个reference,然后进行bitwise的复制,这样将该对象的空间完全复制,从而达到shallowcopy的目标
      

  5.   

    CLONE是为了方便实现原形模式,得到一个对象的副本。
      

  6.   

    protected native Object clone() throws CloneNotSupportedException,知道native方法就行了,再具体的底层的东西就别研究了。