例子:
public enum TestEnum {
FOO(4), BAR(7);
public final int externalValue;
private TestEnum(int externalValue) {
this.externalValue = externalValue;
}
}
注意没有 getExternalValue() 方法。由于 externalValue 字段是最终字段,因此不存在修改它的风险。通过 Sonar 运行这样的代码会给我一个“变量 'externalValue' 必须是私有的并且具有访问器方法”错误。
假设我是个彻头彻尾的白痴,并解释一下:为什么我绝对需要为 externalValue 实现和使用访问器?
很难解释为什么,但是 Java Bean 模式从一个聪明的构造变成一个普遍的规律的方式,不知何故让我心烦意乱。我只是觉得它不应该总是必要的。