【问题标题】:Add warning for missing @Override annotation for interface implementation in Eclipse为 Eclipse 中的接口实现添加缺少 @Override 注释的警告
【发布时间】:2010-09-18 12:07:07
【问题描述】:

在使用 JDK1.6.0_10 的 Eclipse 3.4.1 中,如何在实现接口方法的方法上激活缺少 @Override 注释的警告?

在“首选项”窗口中,此选项:

Java > 编译器 > 错误/警告 > 注释 > 缺少“@Override” 注释

对于覆盖超类方法的方法缺少注释可以正常工作,但对于接口方法没有任何作用。

【问题讨论】:

  • Java 5 和 Java 6 对接口实现上的 @Override 注解有不同的期望。我不记得这对 Eclipse 有何影响,但我知道确实如此。
  • 我应该提到这一点。在问题中添加了 Java (6) 的版本。

标签: eclipse eclipse-3.4 jdk1.6


【解决方案1】:

在 Eclipse 3.4.1 中是不可能的。这是一个known issue。有关详细信息,请参阅此错误报告页面。

【讨论】:

    【解决方案2】:

    保护我在另一个线程中所说的话。显然这不是编译器选项,而是 Java 兼容性版本问题:如果您的兼容性版本是 5,您将无法注释接口实现方法。如果您的兼容版本是 6,那么您将能够。

    但是,如果您不对每个实现的方法进行注释,我认为实际上没有办法强制 Eclipse 生成错误。来自this page

    缺少“@Override”注解:启用后,当编译器遇到覆盖另一个已实现方法的方法时,编译器将发出错误或警告,并且“@Override”注解丢失。

    【讨论】:

    • 我使用 java 6(编辑问题以明确这一点。之前应该这样做。)
    • 不知道现在eclipse 4.4.1能不能做到?
    【解决方案3】:

    兼容性设置为 1.6 而不是 1.5 对我有用: 面向 Web 开发人员的 Eclipse Java EE IDE。

    版本号:20100218-1602

    【讨论】:

      【解决方案4】:

      也许我遗漏了一些东西,但接口方法已经需要由实现类实现。

      如果接口没有完全实现,编译器会报错。

      【讨论】:

      猜你喜欢
      • 2013-08-02
      • 2012-06-12
      • 1970-01-01
      • 2014-07-15
      • 2023-03-04
      • 1970-01-01
      • 1970-01-01
      • 2013-06-29
      • 2014-12-19
      相关资源
      最近更新 更多