在java中,复制也是就clone()方法,在使用过程中根据业务的需要会有深复制和浅复制之分.那到底什么时候用深复制什么时候用浅复制,以及怎么实现呢?得从复制的概念一起总结一下:
概念:
1,浅复制
所有复制对象的所有变量都有与原对象相同的值,引用对象指向原来的对象.(默认继承object,没有实现clone()方法的类为浅复制).
2,深复制
所有复制对象的所有变量都有与原对象相同的值,与浅复制的区别是引用对象指向新对对象.
注意:
object的clone()方法是深复制,所以在继承object,实现clone()方法时要调用super.clone(),此类会进行深复制,相反如果直接继承属于浅复制.