別オブジェクトの private または protected フィールドへのアクセスを報告します。 Java では現在のオブジェクトと同じクラスのオブジェクトに対するこのようなフィールドへのアクセスは可能ですが、一部のコードスタイルはこのような使用法を推奨していません。 また、このような private フィールドへの直接アクセスは、フレームワークがプロキシを使用してアクセスを仲介できるように他のオブジェクトに対するすべてのアクセスがメソッド呼び出しを通じて行われることを期待している Spring や Hibernate のようなコンポーネント指向のアーキテクチャでは失敗する可能性があります。

例:


  public class Base {
    protected int bar;

    void increment(Base base) {
      bar++;
      base.bar++; // 警告: 別のオブジェクトの非 public フィールドへの直接アクセス
    }
  }
フィールドをカプセル化するクイックフィックスを使用できます。

インスペクションの構成: