(十三)对象克隆
来源:互联网 发布:js获取当前标签的属性 编辑:程序博客网 时间:2024/04/30 03:42
Object类实现了clone()方法(protected)。用户自己编写的类若想调用该方法,必须实现Cloneable接口,以此表明
Object.clone()
是合法的。如果对象中的域是引用数据类型,克隆的新对象的对应域和原来的域共同引用同一个对象。
注:Cloneable是一个标记接口,其没有可实现的方法。如果不实现该接口,调用super.clone()会报CloneNotSupportedException的异常。
浅拷贝
直接使用Object.clone()
方法克隆一个对象,如果对象含有引用数据类型的域,则克隆的对象和原来的对象共享这部分数据。
class Emplyee implments Cloneable{ public Employee clone() trows CloneNotSupportedException{ Employee e = (Employee) super.clone();return e; } }
深拷贝
重新定义克隆方法
class Emplyee implments Cloneable{ public Employee clone() trows CloneNotSupportedException{ Employee e = (Employee) super.clone();//先直接克隆对象 e.hireDay = (Date) hireDay.clone(); //将对象的引用数据类型的域进行一次克隆 return e; } }
0 0
- (十三)对象克隆
- Java对象克隆方法(浅克隆、深克隆)
- Java对象克隆方法(浅克隆、深克隆)
- 通过反射克隆对象,对象复制(克隆)工具类
- java克隆 对象(复制)
- 算法练习笔记(十三)——图的克隆
- 对象克隆
- 克隆对象
- 对象克隆
- 克隆对象
- 对象克隆
- 对象克隆
- 对象克隆
- 对象克隆
- 对象克隆
- 对象克隆
- 对象克隆
- 对象克隆
- windows下 Oracle11完全卸载方法
- (十)反射
- android 使用Builder模式 构建自定义title
- (十二)接口 (以及与抽象类的区别)
- php如何实现网站静态化
- (十三)对象克隆
- sqlserver转换为oracle 报这个错
- 第三章 文件操作
- spring 事务 传播行为
- (十四)内部类
- Unity UGUI图文混排(六) -- 超链接
- (十五)代理
- 每日积累(20161025-day-1)(奇异值分解SVD lua cuda event)
- n!求和