在Eclipse中覆盖注释的错误

时间:2010-09-17 13:21:53

标签: android eclipse annotations override

我在Eclipse中使用@Override注释时遇到了烦人的问题。通常,当我在新PC上导入工作项目时,Eclipse会将某些@Override注释标记为错误。如果我删除注释一切都很好,Eclipse也表示方法覆盖了父方法,但添加覆盖注释会再次导致错误。我目前正在开发一个Android项目,所以它可能是Android的问题,而不是Eclipse ..

4 个答案:

答案 0 :(得分:46)

这很可能是因为您在Java 1.5和Java 1.6之间切换。在1.5中,您无法使用@Override标记接口实现,但您可以使用1.6。

快速谷歌搜索发现了这两个版本之间注释差异的良好解释:http://www.techienuggets.com/CommentDetail?tx=38155

  

@Override的语义不同   JDK 1.5和JDK 1.6。在JDK 1.5中,   不允许@Override注释   用于方法的实现   在接口中声明,而它们   允许在JDK 1.6中使用。更多   信息,见:

     

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/?entry=override

     

事实就是这样的描述   覆盖注释未更新   在JDK API文档中。这一直是   报告为一个错误:

     

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

答案 1 :(得分:21)

转到

 window -> prefrences -> java -> compiler 

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

答案 2 :(得分:6)

有几个地方配置了Java编译器设置。

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

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

答案 3 :(得分:3)

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