自定义类实现克隆

来源:互联网 发布:软件下载引导页源码 编辑:程序博客网 时间: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();}     }
    

原创粉丝点击