在Java中,clone()方法是用来实现对象的拷贝操作。它是Object类中的一个protected方法,可以被子类重写,实现对象的拷贝。
使用方法
要使用clone()方法,需要实现Cloneable接口,这个接口没有任何方法,只是一个标记接口,用来表明一个类可以被克隆。如果一个类没有实现Cloneable接口,则调用clone()方法时会抛出异常CloneNotSupportedException。
public class Person implements Cloneable {
    private String name;
    private int age;
    public Person(String name, int age) {
        this.name = name;
        this.age = age;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public int getAge() {
        return age;
    }
    public void setAge(int age) {
        this.age = age;
    }
    @Override
    public Person clone() {
        Person person = null;
        try {
            person = (Person) super.clone();
        } catch (CloneNotSupportedException e) {
            e.printStackTrace();
        }
        return person;
    }
}
上面是一个Person类,实现了Cloneable接口,并重写了clone()方法。clone()方法可以把一个对象拷贝一份,拷贝出来的对象和原来的对象是完全一样的,但是它们是两个不同的对象。
使用示例
下面的示例演示了如何使用clone()方法拷贝一个Person对象:
Person person1 = new Person("张三", 18);
Person person2 = person1.clone();
System.out.println(person1.getName()); // 张三
System.out.println(person2.getName()); // 张三
System.out.println(person1 == person2); // false
上面的代码中,我们创建了一个Person对象person1,使用clone()方法把它拷贝一份,拷贝出来的对象是person2,person1和person2是完全一样的,但是它们是两个不同的对象。
Java中的clone()方法是用来实现对象的拷贝操作,要使用clone()方法,必须实现Cloneable接口,clone()方法可以把一个对象拷贝一份,拷贝出来的对象和原来的对象是完全一样的,但是它们是两个不同的对象。