java中对象的克隆
对象的克隆
将一个对象复制一份,称为对象的克隆。
在Object类中存在一个clone()方法:
protected Object clone()throws CloneNotSupportedException
如果某个类的对象想要被克隆,则对象所在的类必须实现Cloneable接口,此接口没有定义任何方法,是一个标记接口
代码实现:
需要克隆的实体类:
class Lili implements Cloneable {private String nama;private int age;public Lili(String nama, int age) {this.nama = nama;this.age = age;}// get,set,toString方法@Overrideprotected Object clone() throws CloneNotSupportedException {return super.clone();}
}
测试:
public class Test1 {public static void main(String[] args) {Lili lili = new Lili("丽丽", 21);try {Lili newLili = (Lili) lili.clone();System.out.println(lili);System.out.println(newLili);System.out.println(lili == newLili);} catch (CloneNotSupportedException e) {e.printStackTrace();}}
}
java中对象的克隆相关推荐
- Java中对象的深复制(深克隆)和浅复制(浅克隆)介绍
1.浅复制与深复制概念 ⑴浅复制(浅克隆) 被复制对象的所有变量都含有与原来的对象相同的值,而所有的对其他对象的引用仍然指向原来的对象.换言之,浅复制仅仅复制所考虑的对象,而不复制它所引用的对象. ⑵ ...
- cloning java_深入浅出Java中的clone克隆方法,写得太棒了!
作者:张纪刚 blog.csdn.net/zhangjg_blog/article/details/18369201/ 2019-03-24 10:33:04 Java中对象的创建 clone 顾名思 ...
- 深入浅出Java中的clone克隆方法,写得太棒了!
作者:张纪刚 blog.csdn.net/zhangjg_blog/article/details/18369201/ Java中对象的创建 clone 顾名思义就是 复制 , 在Java语言中, c ...
- java中的深度克隆浅克隆_了解Java中的可克隆接口
java中的深度克隆浅克隆 什么是对象克隆? 对象克隆是生成具有不同名称的对象的精确字段到字段副本的过程. 克隆的对象在内存中有自己的空间,可在其中复制原始对象的内容. 这就是为什么在克隆后更改原始对 ...
- JAVA之对象的克隆
JAVA之对象的克隆 1.为什么要克隆? ①方便,克隆的对象可能包含一些已经修改过的属性,而new出来的对象的属性都还是初始化时候的值,所以当需要一个新的对象来保存当前对象的"状态" ...
- Java中对象的储存区
文章目录 1 两个重要的问题 2 C语言中数据的存储区 3 Java中对象的储存区 4 Java为什么采用动态内存分配? 4 为什么基本类型是特例? 1 两个重要的问题 对象的数据位于何处? 如何控制 ...
- Java中对象的实例化顺序
文章目录 1 Java中对象的实例化顺序 1 Java中对象的实例化顺序 继承后的初始化顺序: 静态成员包括静态构造代码块,初始化顺序跟书写顺序有关.
- 浅析Java中对象的创建与对象的数据类型转换
这篇文章主要介绍了Java中对象的创建与对象的数据类型转换,是Java入门学习中的基础知识,需要的朋友可以参考下 Java:对象创建和初始化过程 1.Java中的数据类型 Java中有3个数据 ...
- Java中对象的三种状态
转载自 Java中对象的三种状态 Java中的对象的三种状态是和垃圾回收紧密相关的,因此有必要深究. 状态一:可触及态:从根节点开始,可以搜索到这个对象,也就是可以访问到这个对象,也有人将其称为可 ...
- Java中对象和引用的理解
2019独角兽企业重金招聘Python工程师标准>>> 偶然想起Java中对象和引用的基本概念,为了加深下对此的理解和认识,特地整理一下相关的知识点,通过具体实例从两者的概念和区别两 ...
最新文章
- [Matlab]二维统计分析图实例
- IT人的自我导向型学习:学习的1个理念和2个心态
- 如何使得自己的Python程序每行长度小于80个字符?
- 5G来了4G降速?负载均衡链路聚合器了解一下
- RedHat Enterprise Linux6.4 使用CentOS yum源
- Windows Mobile实现透明控件
- RAC (双节点) + 单实例 DATAGUARD 安装遇到的问题处理
- net.conn read 判断数据读取完毕_1.5 read, write, exit系统调用
- BeanUtils对象之间的复制
- pandas追加写入行、列
- [转帖] Windows 与linux的栈大小问题
- 解决 Exchange 2013提示“出现意外错误,无法处理您的请求”,无法打开OWA和ECP...
- 3种方法设置和取消Excel文件的打开密码
- 商业化游戏服务器引擎自定义框架设计思路
- mysql_帮助命令/通配搜索/help help用法(official doc)
- RISC-V MCU将常量定义到指定的Flash地址
- tair ldb存储引擎性能测试方案
- 51单片机c语言直流电机廷迟启停,51单片机控制直流电机不会加定时器延时程序...
- idea创建python spark项目的步骤_Spark入门(二)--如何用Idea运行我们的Spark项目
- Open vSwitch ETHERNET相关字段详解(eth_src/dl_src、eth_dst/dl_dst、eth_type/dl_type)