java clone
时间: 2023-10-22 09:28:20 浏览: 83
java Clone
在Java中,`clone()`方法用于创建一个与原始对象具有相同值的新对象。要使用`clone()`方法,首先需要确保类实现了`Cloneable`接口。然后,可以在类中重写`clone()`方法来定义克隆的行为。
下面是一个示例代码,演示了如何使用`clone()`方法:
```java
class MyClass implements Cloneable {
private int value;
public MyClass(int value) {
this.value = value;
}
public void setValue(int value) {
this.value = value;
}
public int getValue() {
return value;
}
@Override
public Object clone() throws CloneNotSupportedException {
return super.clone();
}
}
public class Main {
public static void main(String[] args) {
MyClass obj1 = new MyClass(10);
try {
MyClass obj2 = (MyClass) obj1.clone();
System.out.println("obj1: " + obj1.getValue()); // 输出: obj1: 10
System.out.println("obj2: " + obj2.getValue()); // 输出: obj2: 10
obj2.setValue(20);
System.out.println("obj1: " + obj1.getValue()); // 输出: obj1: 10
System.out.println("obj2: " + obj2.getValue()); // 输出: obj2: 20
} catch (CloneNotSupportedException e) {
e.printStackTrace();
}
}
}
```
在上面的例子中,我们创建了一个`MyClass`类,实现了`Cloneable`接口,并重写了`clone()`方法。在`main()`方法中,我们通过调用`clone()`方法创建了一个新的对象`obj2`,并对其进行了修改。可以看到,`obj1`和`obj2`是独立的对象,修改一个不会影响到另一个。
需要注意的是,在使用`clone()`方法时,需要处理`CloneNotSupportedException`异常。
阅读全文