07-深克隆和浅克隆有什么区别?它的实现方式有哪些?
使用克隆可以为我们快速地构建出一个已有对象的副本,它属于 Java 基础的一部分,也是面试中常被问到的知识点之一。
我们本课时的面试题是,什么是浅克隆和深克隆?如何实现克隆?
典型回答
浅克隆(Shadow Clone)是把原型对象中成员变量为值类型的属性都复制给克隆对象,把原型对象中成员变量为引用类型的引用地址也复制给克隆对象,也就是原型对象中如果有成员变量为引用对象,则此引用对象的地址是共享给原型对象和克隆对象的。
简单来说就是浅克隆只会复制原型对象,但不会复制它所引用的对象,如下图所示:
深克隆(D
原创
2020-06-20 12:10:29 ·
262 阅读 ·
0 评论