Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/345.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在JDK 7u2上重写接口方法时,编译器出现@override错误_Java_Android - Fatal编程技术网

Java 在JDK 7u2上重写接口方法时,编译器出现@override错误

Java 在JDK 7u2上重写接口方法时,编译器出现@override错误,java,android,Java,Android,我知道,这听起来像是一个老问题,以前有人问过(*)。但是有点不同。我用最新版本的JDK(7u2)和eclipse(以及AndroidDK)安装了一个干净的系统。当我导入旧项目时,我得到一个错误“类类型的方法methodName(参数)必须重写超类方法” @override标记在那里(正确),因为该方法重写了超类接口的方法。不知何故,编译器认为这个标记只是直接用于超类。据我所知,@override在Java7中没有改变,我的项目在Java6上正常工作。这是一个可能的错误或兼容性问题,还是我遗漏了什

我知道,这听起来像是一个老问题,以前有人问过(*)。但是有点不同。我用最新版本的JDK(7u2)和eclipse(以及AndroidDK)安装了一个干净的系统。当我导入旧项目时,我得到一个错误“类类型的方法methodName(参数)必须重写超类方法”

@override标记在那里(正确),因为该方法重写了超类接口的方法。不知何故,编译器认为这个标记只是直接用于超类。据我所知,@override在Java7中没有改变,我的项目在Java6上正常工作。这是一个可能的错误或兼容性问题,还是我遗漏了什么


(*)在JDK5上编译时也会发生类似的问题,原因很简单,因为@override在Java5中还没有实现。解决方案当然是将编译器遵从性级别更改为6。但是现在JDK 7有什么用呢?

您不应该在开发中使用JDK 7。您必须使用JDK5或JDK6,这是一个非常重要的问题

您是否检查了Eclipse中的编译器符合性设置?是的。它在JDK 7上。目前还没有安装其他JDK。无论是JDK6还是JDK7,符合性级别都应该是1.6。实际上,我真正的问题是:eclipse插件的“修复项目属性”选项迫使项目使用符合性级别5,而我没有看到它。