简述java中的Cloneable接口的作用,并举例说明
时间: 2024-02-27 13:54:20 浏览: 80
Cloneable接口是Java中的一个标记接口,它并不包含任何方法,仅仅是用来标记一个类是否可以被克隆的。如果一个类实现了Cloneable接口,那么它就可以被克隆,否则就会抛出CloneNotSupportedException异常。
下面是一个示例,演示了如何使用Cloneable接口来实现对象的克隆:
```
class Person implements Cloneable {
private String name;
private int age;
public Person(String name, int age) {
this.name = name;
this.age = age;
}
@Override
protected Object clone() throws CloneNotSupportedException {
return super.clone();
}
}
public class Main {
public static void main(String[] args) throws CloneNotSupportedException {
Person p1 = new Person("Tom", 18);
Person p2 = (Person) p1.clone();
System.out.println(p2.getName()); // Tom
System.out.println(p2.getAge()); // 18
}
}
```
在这个例子中,Person类实现了Cloneable接口,并重写了Object类的clone()方法。在main方法中,我们创建了一个Person对象p1,然后通过调用p1.clone()方法来克隆一个新的Person对象p2。最后,我们输出了p2的属性,验证了克隆成功。
阅读全文