@Override错误

转载 2013年12月05日 19:51:10

转:http://blog.csdn.net/chindroid/article/details/7653289

一、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。



myeclipse实现接口的方法@Override报错

@Override表示重写。 新建工程的时候默认的编辑器为5.0的版本,不识别实现接口的方法标注@Override. 解决方案: 1.去掉重写标注。 2.修改编辑器版本。 (1)设置myeclipse...
  • q105054
  • q105054
  • 2016年12月15日 15:24
  • 877

VTK 7.0 安装中内存读取冲突 no override found for “.." 解决记录

官网上关于自己创建工程的方法介绍
  • u012552296
  • u012552296
  • 2016年03月12日 16:04
  • 2018

导入项目@override 报错处理

将项目导入MyEclipse中后总有错;@override总是报错,没关系,不用着急,偶来告诉你解决办法。 @override报错,鼠标放上去让你移除,是因为你的JDK版本太低,一般JDK是要在1.6...
  • tianyazaiheruan
  • tianyazaiheruan
  • 2013年08月21日 10:50
  • 3002

Python中的继承和override(由类的实例获取类的字符串信息)

今天有时间将Python中的继承敲了些代码来加深理解。 class Animal(object): """ Inherit and override function. """ de...
  • yaked
  • yaked
  • 2015年01月21日 16:00
  • 2612

C++ 中提供的override 关键字

C++ 语言标准这些年进化的很快,许多新引入的特性我都没有用过。说实话自己也比较懒,总是觉得自己对C++ 的掌握程度已经足够应付日常的各种项目了,所以没有学习新特性的动力。而且一直觉得新引入的特性多数...
  • liyuanbhu
  • liyuanbhu
  • 2015年02月14日 10:57
  • 11756

Android Studio 相关-快捷键、常见问题

查找 ·Ctrl+Alt+s Setting ·Ctrl+N Navigate to find a class by name ·Alt+Shift+N Navigate to find a file...
  • u013219238
  • u013219238
  • 2015年06月09日 13:31
  • 1092

关于@Override在1.5和1.6之后的区别

@Override注解是作用于源代码的注解,用于表明注解的方法重写了父类型的方法,但是这个注解在1.5和1.6及以后是区别的。1.5中,只能用于在继承某个类时,重写父类中的方法,而在实现一个接口中的方...
  • mhmyqn
  • mhmyqn
  • 2015年08月29日 15:53
  • 1516

c++的override关键字

我那个编译器里把override标蓝(表示那是系统关键字),它有什么用? 我知道【英语单词】override表示子类覆盖掉父类的方法,调用时会调用子类的方法;父类对应的方法已经用virtual修饰。...
  • silent_bobo
  • silent_bobo
  • 2015年05月25日 07:01
  • 952

ECLIPSE @OVERRIDE报错解决 必须覆盖超类方法

原文地址:http://justdo2008.javaeye.com/blog/433579   我想这个问题肯定困扰了很多人,我也不例外。新公司用的东西多多少少会与我们以前公司的有所...
  • cqy13368060030
  • cqy13368060030
  • 2015年08月16日 00:23
  • 1828

提高你的Java代码质量吧:注意@ Override不同版本的区别

一、分析  @Override注解用于方法的覆写上,它在编译期有效,也就是Java编译器在编译时会根据该注解检查是否真的是覆写,如果不是就报错,拒绝编译。  该注解很大程度解决我们的误写问...
  • p106786860
  • p106786860
  • 2013年09月16日 10:50
  • 4943
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:@Override错误
举报原因:
原因补充:

(最多只允许输入30个字)