为 Eclipse 中的接口实现添加缺少 @Override 注解的警告
在使用 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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
在 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.
保护我在另一个线程中所说的话。 显然这不是一个编译器选项,而是一个Java兼容性版本问题:如果你的兼容性版本是5,你将无法注释接口实现方法。 如果你的兼容版本是6,那么你就可以。
但是,如果您不注释每个实现的方法,我认为没有办法真正强制 Eclipse 生成错误。 来自 此页面:
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:
将兼容性设置为 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
也许我遗漏了一些东西,但接口方法已经需要由实现类来实现。
如果接口未完全实现,编译器将生成错误。
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.