如果子类扩展抽象类,那么clone方法的语法是什么?

时间:2018-05-20 11:49:58

标签: java clone

例如, A类实现了clone-able,它是一个抽象类, B类扩展 A类

假设我只在 B类中需要克隆方法。 我还需要使用

吗?
A result = (A)super.clone();
clone方法中的

1 个答案:

答案 0 :(得分:0)

不,您可以在clone()中实施B作为:

public B clone() {
    try {
        return (B) super.clone();
    } catch (CloneNotSupportedException e) {
        throw new IllegalStateException(e);
    }
}

注意:clone()接口中未定义Cloneable方法。 Cloneable只是一个所谓的“标记”界面。因此,A根本不需要clone()方法。

(您也可以将该方法声明为抛出CNSE并让调用者处理它。请注意,clone()Cloneable现在有点不受欢迎。请考虑简单地提供一个复制构造函数需要B并复制其字段的值。)