【发布时间】:2010-11-06 08:15:42
【问题描述】:
我已经为Employee类的父类是抽象的并且父类中的clone()方法是抽象的情况编写了这个克隆方法。我想用这段代码复制Employee对象的原始数据类型而不是复制每个原始数据类型都是单独的,但是这段代码与我调用 clone() 方法的行有问题。 (这段代码在Employee类中)
public Object clone() {
Object obj = new Object();
Object object = obj.clone(); //Emphasis here
return object;
}
错误是:Object 类型的方法 clone() 不可见。
但我的 Employee 类在类层次结构中,可以访问 Object 类中受保护的 clone() 方法。
这是我的简单 Employee 类:
public class Employee extends Person implements Cloneable {
private int ID;
public Employee() {
ID = 0;
}
public void setID(int ID) {
this.ID = ID;
}
public int getID() {
return ID;
}
public Object clone1() throws CloneNotSupportedException {
try {
Object obj = new Object();
Object object = obj.clone();
return object;
} catch (CloneNotSupportedException ex) {
return null;
}
}
【问题讨论】:
-
+1。因为据我了解,情况实际上有点棘手,而不仅仅是一个简单的 clone() 案例。