为 Eclipse 中的接口实现添加缺少 @Override 注解的警告

发布于 2024-07-06 22:50:13 字数 252 浏览 6 评论 0原文

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

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

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

可以很好地工作,但对于接口方法则没有任何作用。

In Eclipse 3.4.1 using JDK1.6.0_10 how can I activate a warning on a missing @Override annotation on a method that implements an interface method?

In the Preferences window this option:

Java > Compiler > Errors / Warnings >
Annotations > Missing '@Override'
annotation

works fine for missing annotations on methods that override a superclass method, but it does nothing for interface methods.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

孤君无依 2024-07-13 22:50:13

在 Eclipse 3.4.1 中这是不可能的。 这是一个已知问题。 请参阅此错误报告页面以获取更多信息。

It is not possible in Eclipse 3.4.1. It is a known issue. See this bug report page for more information.

诗化ㄋ丶相逢 2024-07-13 22:50:13

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

但是,如果您不注释每个实现的方法,我认为没有办法真正强制 Eclipse 生成错误。 来自 此页面

缺少“@Override”注释:启用后,只要遇到一个方法覆盖另一个已实现的方法,并且缺少“@Override”注释,编译器就会发出错误或警告。

Belay what I said in the other thread. Apparently it's not a compiler option, but a Java compatibility version issue: if your compatibility version is 5, you won't be able to annotate interface implementation methods. If your compatibility version is 6, then you will be able to.

However I don't think there's a way of actually forcing Eclipse to generate an error if you do not annotate each implemented method. From this page:

Missing '@Override' annotation: When enabled, the compiler will issue an error or a warning whenever it encounters a method overriding another implemented method, and the '@Override' annotation is missing.

樱娆 2024-07-13 22:50:13

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

内部版本号:20100218-1602

The compatibility setting to 1.6 instead of 1.5 worked for me on:
Eclipse Java EE IDE for Web Developers.

Build id: 20100218-1602

怼怹恏 2024-07-13 22:50:13

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

如果接口未完全实现,编译器将生成错误。

Maybe I'm missing something but interface methods are already required to be implemented by implementation classes.

The compiler will generate an error if the interface is not completely implemented.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文