/** 对象克隆:完整的复制一个对象
*
* 如果想要完成对象的克隆,则必须依靠Object的clone方法
* protect Object clone() throws CloneNotSupportedException
*
* 一个类的对象如果想被克隆,则必须实现Cloneable接口,然后重写此方法
*
* Cloneable是一个接口,但是在此接口中却没有规定任何的操作方法,所以
* 此接口实际上只是一个标识接口,表示一种能力.
*/
package edu.fjut.clone;
//只有实现Cloneable接口才可以被克隆
class Person implements Cloneable{
private String name;
public Person(String name){
this.name=name;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String toString(){
return "姓名:"+this.name;
}
//重写clone方法
public Object clone() throws CloneNotSupportedException{
return super.clone();//具体的克隆操作由父类完成
}
}
public class ObjectClone {
public static void main(String[] args) throws Exception{
Person p1=new Person("雅各布");
Person p2=(Person)p1.clone();//克隆person对象
p2.setName("张三");
System.out.println("原始对象:"+p1);
System.out.println("克隆后的对象:"+p2);
}
/*
* 结果输出:
* 原始对象:姓名:雅各布
* 克隆后的对象:姓名:张三
*/
}
java--对象克隆
最新推荐文章于 2024-07-31 09:30:00 发布