java - 在 JDK 7u2 上重写接口(interface)方法时出现 @override 编译器错误

标签 java android

我知道,这听起来像是一个老问题,以前有人问过它(*)。但这有点不同。我使用最新版本的 JDK (7u2) 和 eclipse(以及 AndroidSDK)安装了一个干净的系统。当我导入旧项目时,出现错误“类类型的方法 methodName(Parameter) 必须覆盖父类(super class)方法”。

@override-tag 在那里(正确地),因为该方法覆盖了父类(super class)的 INTERFACE 的方法。不知何故,编译器认为这个标签只是直接用于父类(super class)。据我所知,@override 在 Java 7 中没有改变,我的项目在 Java 6 上运行正常。这可能是错误或兼容性问题,还是我遗漏了什么?

(*)在 JDK5 上编译时,曾经发生过类似的问题,仅仅是因为 @override 尚未在 Java 5 中实现。解决方案当然是将编译器合规级别更改为 6。但是什么是它现在与 JDK 7 一起使用了吗?

最佳答案

您不应该使用 JDK 7 进行开发。有一个requirement你必须使用 JDK 5 或 6。

关于java - 在 JDK 7u2 上重写接口(interface)方法时出现 @override 编译器错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8757898/

相关文章:

java - 当 API 引入新的异常类型时编写向前兼容的代码

java - 静态和非静态

java - 从 Spring 中的文件路径加载属性文件

java - 如何替换 servingURL 后面的图像?

java - 使组件对 Swing 中的拖动不太敏感

java - 如何从迭代器获取 url?

Android 应用程序检查是否安装了应用程序来读取不同类型的文件(如 pdf、docx、pptx、txt、rtf)等

android - 如何从可扩展 ListView 中删除组

android - FileProvider 不使用相机

java - Android Facebook SDK 使用 OnSelectionChangeListener 获取选定用户时出现问题