現在のクラスのオーバーライド可能なメソッドが、オブジェクト構築中に呼び出されていることを報告します。

メソッドは、次の項目内にある場合にオブジェクト構築中に呼び出されます。

メソッドは finalstatic、または private で宣言されていない場合にオーバーライド可能です。 パッケージローカルメソッドはオーバーライド可能ですが、安全だと考えられます。 このような呼び出しはバグの検出を困難にします。オブジェクトの初期化がメソッド呼び出しの前に発生する可能性があるためです。

例:


  class Parent {
    void someMethod() { }
  }

  class Child extends Parent {
    Child() {
      someMethod();
    }
  }

このインスペクションは以下のインスペクションと機能を共有しています。

警告の重複を避けるため、同時に 1 つのインスペクションのみを有効にしてください。