为什么Eclipse使用'参数标记私有方法是隐藏字段',而不是公共方法?

时间:2018-05-01 06:06:04

标签: java eclipse

在这堂课中:

class RuleSet {
  private final Collection<Rule> rules = new ArrayList<>();

  public void setRules(Collection<Rule> rules) {
    replaceRules(rules);
    // do something else here...
  }

  private void replaceRules(Collection<Rule> rules) {
    this.rules.clear();
    this.rules.addAll(rules);
  }
}

Eclipse(Oxygen.3a Release(4.7.3a))在the parameter rules is hiding a field from the type RuleSet的私有方法上设置警告,但在具有相同参数名称的公共方法上没有。

为什么一个是潜在的问题而不是另一个呢?

1 个答案:

答案 0 :(得分:2)

如果出现警告取决于您的Eclipse - &gt; Java设置(见图)。

Local variable declaration hides another field or variable设置为警告,以查看示例中的警告。

如果在setter中有名称阴影,甚至可以设置Include constructor or setter method parameters以获取警告。这也会在你的制定者和吸气者中显示出警告。

enter image description here