【发布时间】:2012-01-06 12:38:49
【问题描述】:
我知道,这听起来像是一个老问题,之前已经提出过 (*)。但它有点不同。我使用最新版本的 JDK (7u2) 和 eclipse(以及 AndroidSDK)安装了一个干净的系统。导入旧项目时,出现错误“Class 类型的方法 methodName(Parameter) 必须覆盖超类方法”。
@override-tag 在那里(正确),因为该方法覆盖了超类的 INTERFACE 的方法。不知何故,编译器认为这个标签只是直接用于超类。据我所知,@override 在 Java 7 中没有更改,并且我的项目在 6 上正常工作。这可能是错误或兼容性问题,还是我遗漏了什么?
(*)在 JDK5 上编译时曾经发生过类似的问题,只是因为 @override 尚未在 Java 5 中实现。解决方案当然是将编译器合规性级别更改为 6。但是什么是现在用 JDK 7 了吗?
【问题讨论】:
-
您检查过 Eclipse 中的编译器合规性设置吗?
-
是的。它在 JDK 7 上。目前还没有安装其他 JDK。
-
合规级别应该是1.6,不管是JDK6还是JDK7