Java中的假克隆、浅克隆、深克隆
来源:互联网 发布:人工智能的未来 mobi 编辑:程序博客网 时间:2024/06/05 22:19
Java中的克隆值的是对象的克隆,是指在堆空间中复制一块儿内存,是完全相同的两个对象。需要通过实现接口Cloneable或者是通过序列化等方式来实现。
假克隆是指对象的赋值,仅仅代表指针指向的改变,而不会创建新的内存单元。如下:
Employee employee1 = new Employee();// 创建Employee对象employee1Employee employee2 = employee1; // 将employee1赋值给employee2
而浅克隆是指在在克隆的过程中,仅仅克隆对象的基本数据类型。而对于对象内部的嵌套对象,也称为引用类型,则不能实现克隆。比如说,首先定义一个地址类:
public class Address {}
然后在定义一个实现了cloneable接口的employee类,在employee类中实现了对address类的引用:
public class Employee implements Cloneable {}
最后再进行对象创建:
Address address = new Address("中国", "吉林", "长春");// 创建address对象Employee employee1 = new Employee("张XX", 30, address);// 创建employee1对象Employee employee2 = employee1.clone();// 使用克隆创建employee2对象
此时就实现了浅克隆。
深度克隆是指在克隆的过程中,不仅实现克隆对象的基本数据类型,而且对于其引用类型也可以克隆。如下,首先定义一个地址类,这个类实现了接口cloneable,
public class Address implements Cloneable {}
其次定义一个employee类,同样的实现了cloneable接口,同时在employee类中实现了对address类的引用。
public class Employee implements Cloneable {}最受进行对象创建:
Address address = new Address("中国", "吉林", "长春");// 创建address对象Employee employee1 = new Employee("张XX", 30, address);// 创建employee1对象Employee employee2 = employee1.clone();// 使用克隆创建employee2对象此时就实现了深度克隆。
0 0
- Java中的假克隆、浅克隆、深克隆
- java中的深克隆和浅克隆
- java中的深克隆浅克隆介绍
- JAVA中的深克隆和浅克隆
- Java中的浅克隆和深克隆
- JAVA之路_假克隆、浅克隆、深克隆
- Java深克隆浅克隆
- java深克隆浅克隆
- Java浅克隆深克隆
- 浅克隆、深克隆
- 深克隆,浅克隆
- java中的浅克隆
- 浅谈Java中的浅克隆与深克隆
- 深入理解 Java中的深克隆与浅克隆
- java的克隆(深克隆和浅克隆)
- java对象克隆(浅克隆和深克隆)
- Java对象克隆方法(浅克隆、深克隆)
- Java对象克隆方法(浅克隆、深克隆)
- 随笔记录使用DNK时遇到的几个问题
- ssh从本地上传到Linux服务器
- 17、MySQL-更新记录
- Android在横竖屏切换时到底发生了什么?
- EF之概念先行
- Java中的假克隆、浅克隆、深克隆
- 18、MySQL-删除记录
- Android Lint工具
- mybatis与hibernate比较
- cable master POJ 1064
- beego框架获取http请求内容
- 19、MySQL-查询表达式
- 查找网站搬迁错误Unable to connect to your database server using the provided settings
- Ubuntu 配置 Android 开发环境遇到的问题