インターフェースで公開されていないクラスの public メソッドを報告します。

インターフェイスを介してすべての public メソッドを公開することは、疎結合を維持するうえで重要です。また、特定のコンポーネントベースのプログラミングスタイルで必要になる場合があります。

例:


interface Person {
  String getName();
}

class PersonImpl implements Person {
  private String name;

  // ok: メソッドはインターフェースで公開されています
  @Override
  public String getName() {
    return name;
  }

  // 警告: メソッドは public ですが
  // インターフェースでは公開されていません
  public void setName() {
    this.name = name;
  }
}

特別なアノテーションを指定するには、「次のアノテーションが付いている場合は無視」リストを使用します。 ここで指定されたアノテーションが付いているメソッドは、このインスペクションでは無視されます。

プロジェクトのインターフェイスを実装していないクラスのメソッドを無視するには、「包含クラスが非ライブラリインターフェースを実装していない場合は無視する 」オプションを使用します。