Java如何将一个对象clone为另一个对象
时间: 2023-07-19 11:19:56 浏览: 99
要将一个Java对象克隆为另一个对象,可以使用Java中的clone()方法。但是,首先你的类必须实现Cloneable接口,这是一个标识接口,表示该类可以被克隆。
下面是一个简单的示例,假设你有一个名为Person的类,并且你想将一个Person对象克隆为另一个Person对象:
```java
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 int getAge() {
return age;
}
@Override
public Object clone() throws CloneNotSupportedException {
return super.clone();
}
}
```
在这个示例中,我们将Person类实现了Cloneable接口,并重写了Object类的clone()方法。这个方法会返回一个新的Person对象,它将与原始对象具有相同的字段值,但是它们是不同的实例,它们具有不同的内存地址。
要克隆一个Person对象,可以像这样调用clone()方法:
```java
Person p1 = new Person("张三", 20);
Person p2 = (Person) p1.clone();
System.out.println(p1.getName() + " " + p1.getAge()); // 输出 "张三 20"
System.out.println(p2.getName() + " " + p2.getAge()); // 输出 "张三 20"
```
在这个示例中,我们首先创建了一个Person对象p1,然后使用clone()方法将它克隆为另一个Person对象p2。最后,我们输出p1和p2的属性值,可以看到它们是相同的,但是它们是两个不同的实例。
阅读全文