private
或 protected
字段的对象。
Java 允许将此类字段用于与当前对象属于同一类的对象,但某些代码样式不鼓励这种用法。 此外,这种对 private
字段的直接访问在面向组件的体系结构中可能会失败,例如 Spring 或 Hibernate,它们期望对其他对象的所有访问都通过方法调用进行,以便框架可以使用代理来调解访问。
示例:
public class Base {
protected int bar;
class Inside {
int f(Base base) {
return base.bar; // 警告:直接访问非 public 字段
}
}
}
class SomewhereElse {
void m(Base base) {
base.bar = 1; // 警告:直接访问非 public 字段
}
}
配置检查:
要忽略来自内部类的访问,请使用嵌套的忽略来自内部类的访问。
equals()
方法的访问。