static、private、final、または abstract でないメソッドで、その本体が空でないメソッドを報告します。
このようなメソッドを避けるようにコーディングすると、クラスの契約がサブクラスによって破られるのを防ぐことができます。 このようにコーディングするメリットは、サブクラスがスーパーメソッドを呼び出し忘れることでスーパークラスの状態が破損する可能性がなくなることです。 その代償として、サブクラスがスーパークラス内のコードの実行を阻止できないなど、サブクラスの柔軟性が制限されます。 クイックフィックスを使用すると、欠落している修飾子が追加されます。
例:
class Foo {
public boolean equals(Object o) { return true; }
}
クイックフィックス適用後:
class Foo {
public final boolean equals(Object o) { return true; }
}
このインスペクションは安全な環境で使用されるコードを想定しており、制限が少ない環境には適さない可能性があります。