public class Person implements Cloneable{//实现Cloneable接口可以复制对象
private String name;
private int age;
public String getName() {
return name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public void setName(String name) {
this.name = name;
}
public Person(String name, int age) {
this.name = name;
this.age = age;
}
public String toString(){
return name + " " + age;
}
public Object clone() throws CloneNotSupportedException{//重写clone接口
return super.clone();//具体实现由父类完成
}
}
public class TestClone {
public static void main(String[] args) throws CloneNotSupportedException {
Person p = new Person("Kon",25);
Person p2 = (Person) p.clone();
p2.setName("Jon");
System.out.println(p);
System.out.println(p2);
System.out.println(p==p2);//复制的对象,内存地址也不相等
}
}
执行结果:
Kon 25
Jon 25
false