报告对另一个对象的 privateprotected 字段的访问。 Java 允许访问与当前对象属于同一类的对象的此类字段,但某些编码样式不鼓励这种用法。 此外,这种对 private 字段的直接访问在面向组件的架构(例如 Spring 或 Hibernate)中可能会失败,它们期望对其他对象的所有访问都通过方法调用进行,以便框架可以使用代理调解访问。

示例:


  public class Base {
    protected int bar;

    void increment(Base base) {
      bar++;
      base.bar++; // warning: direct access to another object's non-public field
    }
  }
可以通过快速修复封装该字段。

配置检查: