static, private, final 또는 abstract가 아니고, 그 본문이 비어 있지 않은 메서드를 보고합니다.

이러한 메서드를 지양하는 스타일로 코딩하면 클래스의 컨트랙트가 하위 클래스에 의해 손상되는 것을 방지할 수 있습니다. 이 스타일의 장점은 하위 클래스가 상위 메서드를 호출하는 것을 잊어서 상위 클래스의 상태를 손상시킬 수 없다는 것입니다. 그 대가는 하위 클래스의 유연성이 제한된다는 것으로, 특히 상위 클래스에서 코드 실행을 방지할 수 없습니다. 빠른 수정을 사용하여, 누락된 제어자를 추가합니다.

예:


  class Foo {
    public boolean equals(Object o) { return true; }
  }

빠른 수정을 적용한 후:


  class Foo {
    public final boolean equals(Object o) { return true; }
  }
이 검사는 보안 환경에서 사용될 코드를 위한 것이며, 덜 제한적인 환경에는 적합하지 않을 수 있습니다.