当前位置:首页 > 开发 > 编程语言 > 编程 > 正文

@Override错误详解

发表于: 2014-01-20   作者:AILIKES   来源:转载   浏览次数:
摘要: 一、java @override 报错处理 做项目的时候,同事那边电脑上编译通过的java代码,或者是网上下载的样例代码,导入工程后却是编译不通过,总是@override报错,把@override去掉就好了,有时候@Override出现的地方很多,要全部删除@Override很繁琐很吐血,不能从根本上解决问题。网上找了一下原因,才知道: 据说这是jdk的问题,@Override是JDK5就已经

一、java @override 报错处理

做项目的时候,同事那边电脑上编译通过的java代码,或者是网上下载的样例代码,导入工程后却是编译不通过,总是@override报错,把@override去掉就好了,有时候@Override出现的地方很多,要全部删除@Override很繁琐很吐血,不能从根本上解决问题。网上找了一下原因,才知道:

据说这是jdk的问题,@Override是JDK5就已经有了,但有个小小的Bug,就是不支持对接口的实现,认为这不是Override 而JDK6修正了这个Bug,无论是对父类的方法覆盖还是对接口的实现都可以加上@Override。
首先要确保安装了jdk 1.6,
 
然后,在eclipse中修改配置,在 Windows->Preferences-->java->Compiler-->compiler compliance level 中选择 1.6,刷新工程,重新编译下;
如果还是不行,就在报错的工程上,鼠标右键选择 Properties-->Java Compiler-->compiler compliance level中选择 1.6,刷新工程,重新编译下。
 
二、Android之@Override详解

Android的开发者对@Override肯定是非常熟悉,不管是自己的代码中还是书上都会出现,但是他是什么意思呢?如下:
  @Override是伪代码,表示重写(当然不写也可以),不过写上有如下好处:
1、可以当注释用,方便阅读
2、编译器可以给你验证@Override下面的方法名是否是你父类中所有的,如果没有则报错比如你如果没写@Override而你下面的方法名又写错了,这时你的编译器是可以通过的(它以为这个方法是你的子类中自己增加的方法)
  example:

  在重写父类的onCreate时,在方法前面加上@Override系统可以帮你检查方法的正确性。例如:

  public  void  onCreate(BundlesavedInstanceState){…….}
  这种写法是正确的,如果你写成
  public  void  oncreate(BundlesavedInstanceState){…….}
  这样编译器会报如下错误——
  Themethodoncreate(Bundle)oftypeHelloWorldmustoverrideorimplementasupertypemethod,
  以确保你正确重写onCreate方法。(因为oncreate应该为onCreate)
  而如果你不加@Override,则编译器将不会检测出错误,而是会认为你新定义了一个方法oncreate。

@Override错误详解

  • 0

    开心

    开心

  • 0

    板砖

    板砖

  • 0

    感动

    感动

  • 0

    有用

    有用

  • 0

    疑问

    疑问

  • 0

    难过

    难过

  • 0

    无聊

    无聊

  • 0

    震惊

    震惊

编辑推荐
当工程导入的时候,有时候会出现这个错误,只要把@Override去掉就可以了。但是这样做麻烦。引起的原
当工程导入的时候,有时候会出现这个错误,只要把@Override去掉就可以了。但是这样做麻烦。引起的原
做项目的时候,同事那边电脑上编译通过的java代码,或者是网上下载的例子代码,导入project后却是编
一、什么是注释 说起注释,得先提一提什么是元数据(metadata)。所谓元数据就是数据的数据。也就是说
经常遇到代码从版本库签出出现 代码上有个大大的红叉结果发现在@override注解上说了些什么 反正都是
blog迁移至: http://www.micmiu.com 在用Eclipse开发Java项目时,@Override 注解时会出现以下错误提
在用Eclipse开发Java项目时,@Override 注解时会出现以下错误提示: The method *** of type *** mu
blog迁移至: http://www.micmiu.com 在用Eclipse开发Java项目时,@Override 注解时会出现以下错误提
Overload和Override的区别?Overload的方法是否可以改变返回值的类型? Overload是重载的意思,Over
刚进公司,公司有个项目需要维护,导入项目,发现项目老是报错,发现是@override报错,查了下相关资
版权所有 IT知识库 CopyRight © 2009-2015 IT知识库 IT610.com , All Rights Reserved. 京ICP备09083238号