java - Java @Override 注释是否曾经需要/用于接口(interface)实现?

标签 java eclipse annotations overriding

我已经下载了一个开源 Java 项目 JMapViewer

http://svn.openstreetmap.org/applications/viewer/jmapviewer/

将其导入 Eclipse 后,会出现许多编译器错误,所有错误都与从接口(interface)实现的方法前面的 @Override 符号有关。我完全理解这个错误,因为我只会使用 @Override 表示法来重写父类(super class)方法(扩展,而不是实现),我相信这是唯一的预期用法(甚至那么我认为没有必要)。

这个项目已经维护了 4 个月了,但它确实有很长的修改和社区贡献的历史。我无法弄清楚为什么这些 @Override 注释会阻止它编译,但根据我的经验,我必须考虑那些把它们放在那里的人,以前的项目贡献者,有一些充分的理由我不清楚。项目文档说它是为了与 JDK 1.5 一起使用,所以我尝试在 Eclipse 中交替在 1.5、1.6 和 1.7 下编译它,在每种情况下结果都是相同的......编译器对这些非常不满意符号就在它们所在的地方。

那么...我错过了什么?

最佳答案

您看到的文档是正确的。自 JDK 1.6 起,编译器应在实现接口(interface)方法的方法上接受 @override

尝试从命令行进行编译,以确保 Eclipse 不是仍在使用 1.5 编译器。

关于java - Java @Override 注释是否曾经需要/用于接口(interface)实现?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13890649/

相关文章:

java - 从字符串中删除所有出现的 char

java - 数组和泛型之间的区别

java - Java HashMap 中的 ConcurentModificationException

java - Braintree 与 Android Eclipse 项目的集成

jpa - JPA @Entity 注解的确切含义是什么?

Javassist 注释 MemberValue 不带 Name

java - Eclipse e4 部件工具栏仅在部件位于部件堆栈中时显示?

c++ - 如何在 Eclipse 中运行使用 MinGW 编译的 C++ 程序?如何 "link(?)"?

java - 如何远程调试在同一容器中运行的两个具有相同代码库但具有不同配置文件的 Spring Boot 应用程序?

Java服务器端注释的REST客户端库