浅拷贝
以上就把一个对象全部的属性直接拷给另一个对象,相当就是继承。核心的代码是:
以上就把一个对象全部的属性直接拷给另一个对象,相当就是继承。核心的代码是:
问题是:
当我们去修改一个引用类型的属性时,会把父对象的那个属性也修改了。
例如:给xiaoxiaofan添加一个朋友时,也会影响父对象的friends.
原因如图示:
通过for循环,拷贝对象的属性时,只是把相应引用类型的地址复制过来了,就是说xiaoxiaofan的account属性与xiaofan的account属性是一样的,指向同一个引用数据的空间。所以,改一个,另一个也受影响。
浅拷贝只能处理基本的数据类型。
19.3.2. 深拷贝
19.3.2.1. 目标:实现数组的克隆
19.3.2.2. 目标:实现对象的克隆