深拷贝与浅拷贝

2018-01-15  本文已影响0人  one_mighty

一、简介

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

二、区别

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

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


拷贝.png

三、特例

Java中String默认使用深拷贝,基本数据类型采用深拷贝。
上一篇 下一篇

猜你喜欢

热点阅读