报告重写而不调用 super 方法的方法。 这也称作被拒绝的遗赠。 此类方法可能表明抽象失败,导致出现难以跟踪的 bug。

检查不报告从 java.lang.Object重写的方法(clone() 除外)。 按照惯例,clone() 应该调用其 super 方法,该方法将返回正确类型的对象。

示例 1:


  class A {
    @Override
    public Object clone() {
      // 不调用 'super.clone()'
      return new A();
    }
  }

示例 2:


  interface I {
    default void foo() {}
  }

  class A implements I {
    // 禁用“忽略 'default' super 方法”时
    //  对方法发出警告
    @Override
    public void foo(){}
  }

配置检查: