使用eclipse警告“字段声明隐藏了另一个字段或变量”?

时间:2010-11-08 10:19:48

标签: java eclipse compilation member-hiding

Eclipse有一个名为的java编译器设置 “字段声明隐藏了另一个字段或变量”,可以设置为警告/错误。

您认为此警告有多重要?

处理此问题的标准方法是什么?

发生这种情况的代码示例:

public class Test {
   private String caption = null;

   public Test(String caption) { // here
     this.caption = caption;
   }
}

我已经看过重命名字段的解决方案,即“fCaption”,但这会导致可以生成的自动getter / setter具有奇怪的名称(getfCaption())。 不可读,但丑陋......

编辑:哦,是的,有可能重命名方法签名Test(String caption_)或类似的东西,但这将最终在javadoc看起来很奇怪。

3 个答案:

答案 0 :(得分:10)

在我看来,这是一个非常有用的选项,应该启用它来显示编译器警告。有一个选项(在我的版本中至少是Eclipse 3.5.2,Java EE功能1.2.2)在构造函数和getter / setter中进一步启用/禁用它以防止误报。

eclipse compiler settings

答案 1 :(得分:1)

我会说你只是禁用了这个警告 - 它似乎没有用在你的约定中。难怪它默认会被忽略。

答案 2 :(得分:0)

我将这些设置为“错误”。如果一个类及其父级都有一个同名的字段,我不想失去任何时间试图弄清楚为什么我似乎要为该字段赋值但它似乎永远不会改变!