Java常用类----对象克隆

  对象克隆:对象的复制,完整的复制一个对象。

  如果想要完成对象克隆的话,则肯定依靠Object类

protected Object clone() throws CloneNotSupportedException

  以上的方法就是对象克隆的方法,如果现在一个类的对象被克隆,则就必须在此类中明确的覆写此方法,但是此方法不能直接调用

  Cloneable是一个接口,但是在此接口中并没有规定任何的操作方法,所以此接口实际上属于标识接口,表示一种能力。

 

对象克隆支持

  在java中支持对象的克隆操作,直接使用Object类中的clone()方法即可

    protected Object clone() throws CloneNotSupportedException

  Cloneable接口

    对象所在的类中必须实现Cloneable接口才可以完成对象的克隆操作

class Person implements Cloneable{    // 实现Cloneable接口表示可以被克隆 
    private String name ;
    public Person(String name){
        this.name = name ;
    }
    public void setName(String name){
        this.name = name ;
    }
    public String getName(){
        return this.name ;
    }
    public String toString(){
        return "姓名:" + this.name ;
    }
    public Object clone()
                throws CloneNotSupportedException
    {
        return super.clone() ;    // 具体的克隆操作由父类完成
    }
};
public class Test{
    public static void main(String args[]) throws Exception{
        Person p1 = new Person("张三") ;
        Person p2 = (Person)p1.clone() ;
        p2.setName("李四") ;
        System.out.println("原始对象:" + p1) ;
        System.out.println("克隆之后的对象:" + p2) ;
    }
};
View Code
原始对象:姓名:张三
克隆之后的对象:姓名:李四

 

总结:

  在以后的java类库中会经常看到Cloneable接口的出现,一定要记住:只有实现了此接口对象才可以被克隆,否则无法克隆。

posted @ 2015-04-08 09:59  闲来垂钓  阅读(217)  评论(0)    收藏  举报