public class Person implements Cloneable { private int age; private String name; public Person(int age, String name) { this.age = age; this.name = name; } public int getAge() { return age; } public String getName() { return name; } @Override protected Object clone() throws CloneNotSupportedException { Person person = (Person) super.clone(); person.name = new String(name); return person; } public static void main(String[] args) throws CloneNotSupportedException { Person p = new Person(23, "wang"); Person p1 = (Person) p.clone(); System.out.println(p.getName() == p1.getName()); System.out.println(p.getName()); System.out.println(p1.getName()); } }
需要实现clone接口,引用还需要再次clone