浅谈clone与引用
来源:互联网 发布:上海至寻网络怎么样 编辑:程序博客网 时间:2024/05/21 02:35
定义3个对象:obj1, obj2, obj3
new obj1
obj2 = obj1.clone();
obj3 = obj1;
在内存中的存储如下:
(1)obj3 是 obj1 的引用,所以它们指向同一块内存;
(2)obj2 是 obj1 克隆出来的,所以它们指向的不是同一块内存,而属性却指向同一块内存,但修改obj2 不会影响obj1、obj3的属性值,如下图;
(3)由于obj1、obj3指向同一块内存,所以更改其中一个对象的属性,另一个对象的属性都会发生变化;
(4)可以认为obj2 是 obj1的深拷贝;obj3 是 obj1 的浅拷贝;
大致就是这个意思,如有错误,欢迎指正!
0 0
- 浅谈clone与引用
- java的对象与引用,影子clone与深度clone
- 浅谈C++引用与指针
- Java中的clone(),对比C++的指针与引用
- PHP 对象的克隆(clone)与引用(=)的区别
- 浅谈Java的Clone
- java clone技术 浅谈
- java clone技术 浅谈
- Java—浅谈clone()
- java引用以及clone
- 浅谈值传递与引用传递
- 浅谈shared_ptr与循环引用问题
- 浅谈PHP值传递与值引用
- 浅谈引用
- 浅谈 引用
- 浅谈引用
- 浅谈java里的clone
- 引用clone 浅clone 深clone 利用序列化clone 利用反射深clone
- 宏 备忘录
- hdu 5210 Delete
- Maven打包中用xpath替换的语法说明
- POJ 3074 Sudoku 舞蹈链
- 判断一个单链表是否有环及环的链接点
- 浅谈clone与引用
- Android系列之网络(一)----使用HttpClient发送HTTP请求(通过get方法获取数据)
- zoj 1516 Uncle Tom's Inherited Land
- 第3章第37题
- 【转】 Matlab Code = 全变分图像去噪方法(Total Variation-based Image Denoising)
- Identifying shared memory segment users using lsof
- sizeof空类是多少?
- 项目范围管理 Project Scope Management
- bzoj 4033: [HAOI2015]T1