简单的对象克隆原理,实现Cloneable接口,以公共方式重写clone()方法。
/* 能够被克隆的类要实现Cloneable接口 */
public class CloneSheep implements Cloneable {
private String name;
public void setName(String arg) {
name = arg;
}
public String getName() {
return name;
}
@Override
public Object clone() throws CloneNotSupportedException {
return super.clone();
}
public static void main(String[] args) throws Exception {
/* 得到一个CloneSheep的实例 */
CloneSheep firstSheep = new CloneSheep();
firstSheep.setName("真羊");
/* 通过克隆得到另外一个CloneSheep的实例 */
CloneSheep secondSheep = (CloneSheep) firstSheep.clone();
secondSheep.setName("克隆羊");
System.out.println("第一只羊的名字 : " + firstSheep.getName());
System.out.println("第二只羊的名字 : " + secondSheep.getName());
System.out.println(firstSheep.getName() + "的家庭住址 : " + firstSheep);
System.out.println(secondSheep.getName() + "的家庭住址 : " + secondSheep);
}
}