这段时间在复习 JAVA 基础知识,看到浅拷贝vs深拷贝
时,感觉描述不够详细,于是搜索这部分资料。
查阅后发现事情不简单。
浅拷贝的内存关系,JavaGuide的配图与资料中的配图不完全一致:
实际上,前者 Original/Cloned Object
指的是堆内存对象实例,其配图并不准确。
具体来说,浅拷贝新对象和原对象不等,但是新对象的属性和老对象相同
- 如果属性是基本类型(int,double,long,boolean等),拷贝的就是基本类型的值;
- 如果属性是引用类型,拷贝的就是内存地址(即复制引用,但不复制引用的对象) ,因此如果其中一个对象改变了这个地址,就会影响到另一个对象
- Post link: http://example.com/2021/09/25/%E5%85%B3%E4%BA%8EJava%E6%B5%85%E6%8B%B7%E8%B4%9D%E4%B8%8E%E6%B7%B1%E6%8B%B7%E8%B4%9D/
- Copyright Notice: All articles in this blog are licensed under unless otherwise stated.