对象克隆
来源:互联网 发布:我国农产品出口数据 编辑:程序博客网 时间:2024/06/05 05:17
Employee original=new Employee("John Public",50000); Employee copy=original; copy.raiseSalary(10); // original changed Employee copy=original.clone(); copy.raiseSalary(10);// original unchanged
- 默认的克隆操作是“浅拷贝”,并没有在克隆对象中引用其他的对象。
- 如果原对象和浅克隆对象共享的子对象是不可变的,那么共享就是安全的。
- 如果子对象是可变的,从新定义clone方法来建立一个深拷贝。
创建深拷贝的clone方法:
public class Employee implements Cloneable{ public Employee clone() throws CloneNotSupportedException{ Employee cloned=(Employee) super.clone(); // clone mutable fields cloned.hireDay=(Date) hireDay.clone(); return cloned; } }
数组克隆例子:
int[] luckNumbers={1,2,3,4,5,6}; int[] cloned=luckNumbers.clone(); cloned[5]=11;// 不改变luckNumbers[5]的值
阅读全文
0 0
- 对象克隆
- 克隆对象
- 对象克隆
- 克隆对象
- 对象克隆
- 对象克隆
- 对象克隆
- 对象克隆
- 对象克隆
- 对象克隆
- 对象克隆
- 对象克隆
- 克隆对象
- 对象克隆
- 对象克隆
- 对象克隆
- 对象克隆
- java克隆对象
- 使用递归打印该目录下的所有子目录和文件
- hdu_2546_饭卡(01背包)
- Python入门(一)随意感受一下
- java正则表达式
- dropdownList与TextBox结合(.Net控件开发学习第一步)
- 对象克隆
- 网线的排序
- 转载Trigl的博客_有关Linux环境下部署JavaWeb项目
- linux下通过Nginx部署django项目
- Python爬虫框架Scrapy实战
- 初学前端
- js获取当前页面url网址信息
- Oracle SYS_CONNECT_BY_PATH函数使用
- 使用crontab,让linux定时执行shell脚本