深拷贝与浅拷贝

一、简介

拷贝在计算机领域也叫做复制,是指将一个值指定(或者叫做引用)到另一个变量。在编程语言Java中(c++也如此),可以分为深拷贝和浅拷贝。

二、区别

那么深拷贝与浅拷贝的区别是什么呢?
所谓浅拷贝是指,一个对象的内部成员来自另一个对象的引用,也就是说,在某个对象的成员变化的时候,另一个也会随之变化,因为他们成员变量存储时指向同一存储区(一小块)。

所谓深拷贝是指某一对象从衍生(一般调用clone方法)之后,两者属于分离(不指向同一引用,成员不共用同一存储区)状态,一个对象的改变不影响另一对象的正常使用。
两者区别


拷贝.png

三、特例

Java中String默认使用深拷贝,基本数据类型采用深拷贝。
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容