深拷贝和浅拷贝主要是针对对象的属性是对象(引用类型)
一,先了解数据类型
基本数据类型与引用数据类型:
1.基础类型:=赋值,值的复制
基础数据类型的特点:直接存储在栈(stack)中的数据
2.引用类型:=赋值,内存地址复制
引用数据类型的特点:存储的是该对象在栈中引用,真实的数据存放在堆内存
二,深拷贝和浅拷贝
深拷贝和浅拷贝是只针对Object和Array这样的引用数据类型的
1.浅拷贝概念:
浅拷贝只复制指向某个对象的指针,而不复制对象本身,新旧对象还是共享同一块内存
2.深拷贝概念:
深拷贝会另外创造一个一模一样的对象,新对象跟原对象不共享内存,修改新对象不会改到原对象