浅拷贝和深拷贝

浅度拷贝:复制一层对象的属性,并不包括对象里面的为引用类型的数据,当改变拷贝的对象里面的引用类型时,源对象也会改变。
图片说明
结果输出:
图片说明

当B复制了A,当B修改了是,A也会随之修改,原因如下:
图片说明

深度拷贝:重新开辟一个内存空间,需要递归拷贝对象里的引用,直到子属性都为基本类型。两个对象对应两个不同的地址,修改一个对象的属性,不会改变另一个对象的属性

图片说明
图片说明
图片说明
输出结果:
图片说明

此时,A不会随着B的修改而有所改变,原因如下:
图片说明

全部评论

相关推荐

点赞 收藏 评论
分享
牛客网
牛客企业服务