Eclipse中带有重写注释的错误

在Eclipse中,我有一个令人讨厌的问题,即@Override注释。 通常当我在新的PC上导入工作项目时,Eclipse @Override一些@Override注释标记为错误。 如果我删除注释一切都很好,并且Eclipse也指出方法正在重写父项方法,但添加Override注释会再次导致错误。 我目前正在开发一个Android项目,所以这可能是Android的问题,而不是Eclipse的问题。

这很可能是因为您正在切换Java 1.5和Java 1.6。 在1.5中你不能用@Override来标记接口的实现,但你可以在1.6中。

Google的一个快速search就对这个注释在这两个版本中的区别做出了很好的解释: http : //www.techienuggets.com/CommentDetail? tx= 38155

@Override的语义在JDK 1.5和JDK 1.6中是不同的。 在JDK 1.5中,@Override注释不允许在接口中声明的方法的实现,而在JDK 1.6中允许使用@Override注释。 有关更多信息,请参阅:

http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=5008260 http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6399361 http://blogs.oracle.com/ahe/ ?进入=覆盖

事实上,覆盖注释的描述在JDK API文档中没有更新。 这已被报告为一个错误:

http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6501053bugdatabase/view_bug.do?bug_id=6501053

只要去

  window -> prefrences -> java -> compiler 

并将其设置为1.6,因为符号从1.6开始,所以如果编译级别小于1.6,则会给出错误

有几个地方可以configurationJava编译器设置。

一种方法是Window->Preferences->Java->Compiler->Compiler Compliance Level -> set 1.6 or above 。 另一种方法是右键单击Project->Properties->Java Compiler->JDK Compliance -> Select 1.6 or above.

您也可以取消select“启用项目特定设置” ,这将消除未来的JDK编译器合规性错误。 删除多个JDK版本的实例,除非不同的项目需要它们。

确保使用的Java SDK是最新的,并且eclipse使用正确的SDK版本(如果你有多个安装的),并用正确的SDK版本处理你的Android项目…