4

例如,我有 Human 类,我想重写 clone() 函数。

clone()、Object 或 Human 的返回类型应该是什么?我知道返回类型在覆盖过程中没有任何作用,因为它不在函数的签名中。

例如,在 Human 类中,我应该有

 public Object clone() throws CloneNotSupportedException { 

    Human h = (Human)super.clone();

    h.age = age;
    h.name = name;


    return h;
}

然后主要是

 public static void main() throws CloneNotSupportedException { 



    Human h = new Human("Slavco", 49);

    Human z = (Human)h.clone();
}

或者

public Human clone() throws CloneNotSupportedException { 

    Human h = (Human)super.clone();

    h.age = age;
    h.name = name;


    return h;
}

主要是

public static void main() throws CloneNotSupportedException { 



    Human h = new Human("Slavco", 49);

    Human z = h.clone();
}
4

1 回答 1

4

返回 aHuman会让你的生活更轻松(可能会为你节省很多演员),而且没有任何缺点。
我肯定会推荐这种方法。

于 2013-05-25T21:35:28.830 回答