对象克隆技术

class Person implements Cloneable

{

private String name = null;

public Person (String name)

{

this.name=name;

}

public void setName(String name)

{

this.name=name;

}

public String getName()

{

return this.name;

}

public Object clone() throws CloneNotSupportedException

{

return super.clone();

}

public String toString()

{

return "姓名:"+this.getName();

}

}

//定义一个类实现Cloneable接口,公共一个带参数的构造函数,定义一个私有变量name,并设置

//name的设置和获取方法,覆写了父类中clone方法及toString方法,clone 方法要抛出异常,

//throws CloneNotSupportdException

//创建两个Person对象,第一个对象传参,第二个对象克隆第一个对象,

//并给第二个对象赋值,

public class CloneDemo

{


/**

* @param args

* @throws CloneNotSupportedException 

*/

public static void main(String[] args) throws CloneNotSupportedException

{

Person p1 = new Person("wangjicai");

Person p2 = (Person)p1.clone();

p2.setName("lisi");//如果此行取消,则两个对象的结果是相同的

System.out.println("原始对象:"+p1);

System.out.println("克隆后对象:"+p2);

}


}





你可能感兴趣的:(对象克隆技术)