注意
Java深拷贝和浅拷贝不止存在引用类型,也包括基本数据类型。
引用拷贝
拷贝的对象是内存地址。打个比方就是买一个新车牌,但是上面的号码是一样的
浅拷贝
拷贝的对象是目标的属性。打个比方就是买一个新车牌,上面的号码(基本类型)是不一样的,但是所有人(引用类型)是一样的
如果属性是基本类型(int,double,long,boolean等),拷贝的就是基本类型的值;
如果属性是引用类型,拷贝的就是内存地址(即复制引用但不复制引用的对象),因此如果其中一个对象改变了这个地址,就会影响到另一个对象。
深拷贝
深拷贝:在对引用数据类型进行拷贝的时候,创建了一个新的对象,并且复制其内的成员变量。
打个比方就是买一个新车牌,上面的号码(基本类型)是不一样的,也是所有人(引用类型)是不一样的