clone()的使用
来源:互联网 发布:tomcat修改1099端口 编辑:程序博客网 时间:2024/06/06 01:19
clone就是复制, 在Java语言中, clone方法被对象调用,所以会复制对象。所谓的复制对象,首先要分配一个和源对象同样大小的空间,在这个空间中创建一个新的对象。那么在java语言中,有:
1 使用new操作符创建一个对象
2 使用clone方法复制一个对象
那么这两种方式有什么相同和不同呢? new操作符的本意是分配内存。程序执行到new操作符时, 首先去看new操作符后面的类型,因为知道了类型,才能知道要分配多大的内存空间。分配完内存之后,再调用构造函数,填充对象的各个域,这一步叫做对象的初始化,构造方法返回后,一个对象创建完毕,可以把他的引用(地址)发布到外部,在外部就可以使用这个引用操纵这个对象。而clone在第一步是和new相似的, 都是分配内存,调用clone方法时,分配的内存和源对象(即调用clone方法的对象)相同,然后再使用原对象中对应的各个域,填充新对象的域, 填充完成之后,clone方法返回,一个新的相同的对象被创建,同样可以把这个新对象的引用发布到外部。
package test;public class Cloneoo {public static void main(String[] args) {test t=new test();t.changeInt();System.out.println(t);try {test t1=(test) t.clone();//创建System.out.println(t1);System.out.println(t1.getI());} catch (CloneNotSupportedException e) {// TODO Auto-generated catch blocke.printStackTrace();}}}class test implements Cloneable{private int i=0;public void setI(int i) {this.i = i;}public int getI() {return i;}public void changeInt(){this.i=1;}@Overrideprotected Object clone() throws CloneNotSupportedException {// TODO Auto-generated method stubtest t=null;t=(test) super.clone();return t;}}
test.test@15db9742test.test@6d06d69c1
当类中包含一些对象的时候,我们就需要深复制,就是在对对象的复制之后,急着对对象中的非基本类型的属性也调用clone方法完成深复制。
clone方法执行的是浅拷贝
阅读全文
1 0
- Clone的简单使用
- clone()的使用
- java Clone方法的使用
- Java Clone 方法的使用
- 黑马程序员-clone方法的使用详解
- C# DataTable.Copy()和.Clone()的使用
- Clone 方法的使用(深度克隆)
- Cloneable 和 clone()的总结和使用
- Java中clone方法的使用
- Mercurial中hg clone的使用
- jQuery使用clone之后的datepicker问题
- java clone方法的使用详解
- Cloneable 和 clone()的总结和使用
- Git svn clone的方式使用SVN
- java之clone方法的使用
- Java的clone()方法使用详解
- 有关clone方法的使用注意
- 关于Java对象复制(Clone、深度Clone以及序列化与反序列化的使用)
- Pandas Apply函数
- ubuntu linux基本命令- 改变工作目录命令
- 开通新博客了
- 名企笔试:Amazon笔试题(Count the elements)
- 学习博客园开源代码笔记(一)
- clone()的使用
- this web application instance has been stopped already. Could not load net.sf.ehcache.store.compoun
- c++构造函数的初始化列表
- tensorflow.layers.batch_normalization使用方法
- 堆排序
- 说说 Java I/O 系统——读写文件的实用工具
- 输入两棵二叉树A,B,判断B是不是A的子结构。(ps:我们约定空树不是任意一个树的子结构)
- 【备忘】2017麦子学院python编程视频VIP教程
- 图片无缝向右滚动