报告返回类型与其所在的类不同的 clone() 方法。

clone() 方法的返回类型通常为 java.lang.Object,这导致难以被客户端使用。 Effective Java (第二版和第三版) 建议 clone()方法的返回类型与其返回对象的类的类型相同。

示例:


  class Foo implements Cloneable {
    public Object clone() {
      try {
        super.clone();
      } catch (CloneNotSupportedException e) {
        throw new AssertionError();
      }
    }
  }