例如,我有类Human,我想覆盖clone()函数。
clone(),Object还是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();
}
答案 0 :(得分:3)
返回Human
会让您的生活更轻松(可能会为您节省大量的时间),并且没有任何不利之处。
我肯定会推荐这种方法。