java对一个对象实例实现克隆很简单的.但是有些问题需要注意,下面通过具体的例子简单讲解.
/*能够被克隆的类要实现Cloneable 接口*/
public class Sheep
implements Cloneable {
private String name;
public void setName(String arg) {
name = arg;
}
public String getName() {
return name;
}
public Object clone() throws CloneNotSupportedException {
return super.clone();
}
}
public class MainClass() {
public static void main(String[] args) throws CloneNotSupportedException {
/* 得到一个Sheep的实例*/
Sheep first = new Sheep();
first.setName("我是第一只羊");
/* 通过克隆得到另外一个Sheep的实例*/
Sheep second = (Sheep)first.clone();
second.setName("我是另外一只羊");
System.out.println("addr of the first : " + first);
System.out.println("addr of the second : " + second);
System.out.println("the name of the first : " + first.getName());
System.out.println("the name of the second : " + second.getName());
}
addr of the first : common.base.clone.Sheep@192d342
addr of the second : common.base.clone.Sheep@6b97fd
the name of the first : 我是第一只羊
the name of the second : 我是另外一只羊