自定义类实现克隆
来源:互联网 发布:软件下载引导页源码 编辑:程序博客网 时间:2024/06/05 08:49
Java提供了一个protected修饰的clone()方法,该方法用于帮助其他对象来实现“自我克隆”,即得到当前对象的 副本,而且二者之间完全隔离。
实现克隆的步骤如下:
1)自定义类实现Cloneable接口。改接口中没有定义任何方法
2)自定义类实现自己的clone()方法
3)实现clone()方法时通过super.clone();调用Object实现的clone()方法 来得到该对象的副本,并返回副本
下面是程序实现:
public class Test {public static void main(String[] args) throws CloneNotSupportedException{Dog dog1 = new Dog();Dog dog2 = dog1.clone();//此处dog2是dog1的一个副本,但是两者不指向堆内存中的同一对象,所以下面程序输出是falseSystem.out.println(dog1.equals(dog2));} } //1)类先实现Cloneable接口 class Dog implements Cloneable{public Dog() {// TODO Auto-generated constructor stub}//2)自定义类实现自己的clone()方法public Dog clone() throws CloneNotSupportedException{//3)通过super.clone()实现clone()方法return (Dog) super.clone();} }
阅读全文
1 0
- 自定义类实现克隆
- 自定义实现“克隆”
- 克隆类
- js实现克隆节点
- 实现对象克隆
- 实现对象的克隆
- java 实现对象克隆
- js实现深克隆
- C#中实现任意类的完美克隆
- Object.clone()方法引申出的浅克隆、深克隆、java原型模式的实现、不可变类的实现
- java 实现对象的克隆
- JS完美实现对象克隆
- js实现对象完美克隆
- 序列化实现深度克隆
- JS深度克隆代码实现
- JS对象深度克隆实现
- 浅克隆与深克隆的区别以及实现
- java对象克隆简单实现(可多级克隆)
- JZOJ5248. 【NOIP2017提高A组模拟8.10】花花的聚会
- js代码--时间小人
- Linux设备模型(4)_sysfs
- [绍棠_Swift] Swift中类和结构体的区别
- 我所理解的生活
- 自定义类实现克隆
- lambda表达式语法
- 网页获取数据内容中字符串为问号"?"
- 数组与矩阵的区别 Python
- Django学习之 view 缓存详解
- sed使用方法
- python 在jailbreak 的iOS设备上运行,出现kill:9 处理办法
- ProGuard详解
- 解决遗忘linux登陆密码