如何支持clone方法

原创 2007年09月19日 14:44:00
 
1)实现Cloneable接口,因为Object的clone方法将检查类是否实现了Cloneable接口,如果没有将抛出异常CloneNotSupportedException对象。Cloneable接口没有任何方法,只是个标志,所以只需要简单得写上implements Cloneable即可。
2)改写从Object继承而来的clone方法,使它的访问权限为public,因为为了防止意外的支持clone操作,Object的clone方法是protected权限。
3)在clone方法中,调用super.clone()方法。Object的clone方法能够按照旧对象的大小创建足够的内存空间,并按位拷贝到新的对象空间。因此注意如果只调用super.clone方法,只能达到浅拷贝的效果。
如果想要达到深拷贝的效果,就需要自己编写代码拷贝每一个成员变量。
举例如下:
publicclass MyInteger implements Cloneable
{
    privateintvalue;
   
    public MyInteger(int value)
    {
       this.value=value;
    }
   
    publicvoid setValue(int value)
    {
       this.value=value;
    }
   
    publicint getValue()
    {
       returnvalue;
    }
   
    public Object clone()
    {
       try
       {
           returnsuper.clone();
       }
       catch(CloneNotSupportedException e)
       {
           System.err.println(e);
       }
       returnnull;
    }
 
}
 
 
版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

Java clone方法使用

  • 2015年06月08日 20:52
  • 186KB
  • 下载

数组Clear,Clone方法.zip

  • 2010年04月09日 17:06
  • 45KB
  • 下载

Java的clone方法

什么是"clone"?    在实际编程过程中,我们常常要遇到这种情况:有一个对象A,在某一时刻A中已经包含了一些有效值,此时可能 会需要一个和A完全相同新对象B,并且此后对B任何改动都不会影响到A...

Java中的clone方法详解

Java中对象的创建 clone顾名思义就是复制, 在Java语言中, clone方法被对象调用,所以会复制对象。所谓的复制对象,首先要分配一个和源对象同样大小的空间,在这个空间中创建一个新的对象。那...

详解Java中的clone方法 -- 原型模式

Java中对象的创建 clone顾名思义就是复制, 在Java语言中, clone方法被对象调用,所以会复制对象。所谓的复制对象,首先要分配一个和源对象同样大小的空间,在这个空间中创建一个新...

java中的 clone方法

java中,clone方法用于复制对象,是一种创建对象的方式。另一种创建对象的方法就是使用new操作符。new操作符的大致流程是先根据new后的类型确定需要分配多大的内存空间,然后调用构造函数,填充对...

Java中的clone方法使用

在实际编程过程中,我们常常要遇到这种情况:有一个对象A,在某一时刻A中已经包含了一些有效值,此时可能 会需要一个和A完全相同新对象B,并且此后对B任何改动都不会影响到A中的值,也就是说,A与B是两个独...

java的equals、hashcode和Clone方法

(1)关键技术剖析:(Object类的这三个方法) v equals方法:比较两个对象是否相等,结果为boolean型。 v hashCode方法:获得两个对象的hash码,结果为int型。 v...

Java Object的clone方法

在Object中clone()方法

Java Object对象之clone方法

原文:http://blog.csdn.net/bigconvience/article/details/25025561 克隆的目的:快速创建一个已有对象的副本。 克隆的步骤: ...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:如何支持clone方法
举报原因:
原因补充:

(最多只允许输入30个字)