为什么Eclipse不在“生成委托方法”重构中添加@Override注释?

时间:2011-05-23 02:45:28

标签: java eclipse refactoring code-generation eclipse-jdt

在Eclipse中,如果我尝试将“Generate Delegate Methods”重构应用于Java类,如下所示:

class Foo implements Bar {
   Bar bar;
}

Eclipse不会为生成的方法生成@Override注释。这是一个错误还是有充分的理由呢?

3 个答案:

答案 0 :(得分:31)

这不能回答您在生成委托方法时不添加@Override注释的问题,但您可以在保存文件时添加保存操作以便为您执行此操作。转到

Window -> Preferences -> Java -> Editor -> Save Actions

Eclipse Save Actions

请注意@Override部分中Additional actions的条目。如果您遗失了这些内容,请点击Configure...按钮并选择Missing Code标签,然后选择以下选项:

enter image description here

如果要将注释添加到整个项目或包中 批量,选择项目或包(或多个),右键单击,和 选择来源>清理......

在“清理”对话框中,您可以配置包含的自定义配置文件 添加缺失的注释。

答案 1 :(得分:4)

没有充分的理由,但不是“错误”,本身;只是一个缺点。可能重构的时间比@Override还要早 - 当然比一般的注释要早 - 并且从未更新过。

答案 2 :(得分:1)

有时在Window中设置 - >偏好 - > Java - >编辑 - >保存操作会在开发Android应用程序时产生不良影响,特别是对XML文件(在那里,经验丰富)。恕我直言更好的解决方案是使用+1或右键单击包(或类等...),然后选择源 - >清理以添加所有缺少的@Override注释。