关于深拷贝与浅拷贝的问题
比如,我写个
A a = (A)b;
这样a就是浅拷贝,直接引用的b的内存,是不是这个意思?
而A a = new A();
a = (A)b;
这样就是深拷贝,因有自己的内存,是不是?
但如果深拷贝的话,自定义对象A类得自己实现 = 的逻辑,实现IClone接口,是不是?
我的概念很乱,请高手指点
------解决方案--------------------不是的,
浅拷贝是拷贝对象的值类型字段,而引用性字段拷贝的只是引用
深拷贝则是整个引用树整个拷贝
------解决方案--------------------这么说吧深拷贝后就有了两个互不关联的对象,相同的只是它们的字段取值一样
浅拷贝 假设类没有引用字段,结果同上,如果有 ,那么引用字段拷贝的只是引用,就是说两个对象的引用字段指向的是同一个对象
------解决方案--------------------A a=new A();
A aa=a.clone();
这就是浅拷贝
------解决方案--------------------丫,LZ 哪里翻出来的这个答案呢?