记java一次尴尬的@Override

  刚才在写代码的时候,发现实现了接口的方法上面无法写@Override注解。当时脑袋一片空白,莫非是我以前对重写的认识全错了。
然后开始在网上查找了下,终于找出了问题的所在。记录下来给自己提个醒吧~
  
  @Override是JDK5 就已经有了,但有个小小的Bug,就是不支持对接口的实现,认为这不是Override
  而JDK6 修正了这个Bug,无论是对父类的方法覆盖还是对接口的实现都可以加上@Override
  修改你的eclipse指定的编译器版本
  在选项里的java compiler中指定版本至少在5.0以上
  例如: 
      @Override
    public void transfer(final LoginUser loginUser) { 
               ...........
         }
  在5.0报错,在6.0就不报@Override。如果非要在5.0下只能去掉@Override。
  在jdk1.6下决定的方法如下:
  在myEclipse中改变编译器的方法:Project->Properties->Java Compiler->Configure Workspace Setting 选择6.0,在弹出的页面中可以进行设置。

  如果问题还没解决

  选择eclipse菜单Windows->Preferences-->java->Compiler-->compiler compliance level选择 1.6,刷新工程,重新编译。

  如果问题还没解决,就在报错的工程上,鼠标右键选择 Properties-->Java Compiler-->compiler compliance level 中选择 1.6,刷新工程,重新编译。

posted @ 2013-06-08 11:06  阿春阿晓  阅读(231)  评论(0编辑  收藏  举报