相关疑难解决方法(0)

Java:clone()操作调用super.clone()

我不完全理解在类的clone()方法中返回super.clone()的想法.首先,与它返回一个包含LESS数据而不是请求的超类的对象有关,因为超类"不是"子类,而是子类"是"超类.如果有一个长链子类,每个子类都调用super.clone(),为什么不会导致它最终在链的根处调用Object.clone(),这不是任何子类?

对不起,如果那令人困惑; 我有时会困惑自己

java clone

37
推荐指数
3
解决办法
3万
查看次数

这个clone()有什么问题?

我已经编写了这个克隆方法,当Employee类的父类是抽象的,而父类中的clone()方法是abstract.I想用这个代码复制Employee的对象的原始数据类型,而不是复制每个原始数据单独键入,但此代码与我调用clone()方法的行有问题.(此代码在Employee类中)

public Object clone() {
    Object obj = new Object();
    Object object = obj.clone();  //Emphasis here
    return object;

}
Run Code Online (Sandbox Code Playgroud)

错误是:Object类型的方法clone()不可见.

但是我的Employee类在类层次结构中,可以访问Object类中的protected 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) …
Run Code Online (Sandbox Code Playgroud)

java clone

6
推荐指数
4
解决办法
2万
查看次数

标签 统计

clone ×2

java ×2