解决Android提示去掉@Override问题
2012-09-18 13:07
148 查看
先来看一下为什么要使用@Override
@Override不是Android的规范,是java 5新增的一个注解
http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Override.html官方解释为
Indicates that a method declaration is intended to override a method declaration in a superclass. If a method is annotated with this annotation type but does not override a superclass method, compilers are required
to generate an error message.
Since:1.5
表示这个方法声明是为了重写超类中的一个方法声明。如果一个方法声明为@Override但是没有覆盖超类方法,编译器会产生一个错误消息。
如果没有@Override,编译器会把该方法当成你自己的子类中自己增加的方法,是可以编译通过的。
在Android中,对于所有的Android Application和Activity @Override是很重要的,比如在Activity中,有从onCreate到onDestory的生命周期,如果你使用onCreate时没有加上@Override注释,它将永远不会被调用,程序可以编译通过,但是应用程序不会正常工作。
有时候导入一个Android项目,会提示去掉@Override
因为JDK1.5的编译器默认对父类的方法进行覆盖,使用@Override进行说明,但是1.6已经扩展到对接口的方法。对于JDK5.0/1.5版本来说,@Override注解只能用于对超类的方法重写,不能用在对接口方法的实现上。如果还是以1.5来编译的话,会出现错误。
解决办法:把编译器改为1.6
在项目名上右键,选Properties,或者在Window菜单中找到Preferences,找到Java Compiler,修改相应值
![](http://img.my.csdn.net/uploads/201209/18/1347941469_5467.jpg)
小技巧:
可以在Source-> Override/Implement Methods下自动添加覆写和接口函数,可以确保函数名拼写正确。
注意:
Android里有一些系统自动调用的回调函数CallbackMethods,如果写的程序运行无错,但是就是没有该有的反应,那就可能是覆写回调函数时没有加@Override且函数名写错了。
参考:
http://stackoverflow.com/questions/8545540/why-override-needed-in-java-or-android
http://www.cnblogs.com/kaierwen/archive/2012/04/19/2456594.html
@Override不是Android的规范,是java 5新增的一个注解
http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Override.html官方解释为
@Target(value=METHOD) @Retention(value=SOURCE) public @interface Override
Indicates that a method declaration is intended to override a method declaration in a superclass. If a method is annotated with this annotation type but does not override a superclass method, compilers are required
to generate an error message.
Since:1.5
表示这个方法声明是为了重写超类中的一个方法声明。如果一个方法声明为@Override但是没有覆盖超类方法,编译器会产生一个错误消息。
如果没有@Override,编译器会把该方法当成你自己的子类中自己增加的方法,是可以编译通过的。
在Android中,对于所有的Android Application和Activity @Override是很重要的,比如在Activity中,有从onCreate到onDestory的生命周期,如果你使用onCreate时没有加上@Override注释,它将永远不会被调用,程序可以编译通过,但是应用程序不会正常工作。
有时候导入一个Android项目,会提示去掉@Override
因为JDK1.5的编译器默认对父类的方法进行覆盖,使用@Override进行说明,但是1.6已经扩展到对接口的方法。对于JDK5.0/1.5版本来说,@Override注解只能用于对超类的方法重写,不能用在对接口方法的实现上。如果还是以1.5来编译的话,会出现错误。
解决办法:把编译器改为1.6
在项目名上右键,选Properties,或者在Window菜单中找到Preferences,找到Java Compiler,修改相应值
![](http://img.my.csdn.net/uploads/201209/18/1347941469_5467.jpg)
小技巧:
可以在Source-> Override/Implement Methods下自动添加覆写和接口函数,可以确保函数名拼写正确。
注意:
Android里有一些系统自动调用的回调函数CallbackMethods,如果写的程序运行无错,但是就是没有该有的反应,那就可能是覆写回调函数时没有加@Override且函数名写错了。
参考:
http://stackoverflow.com/questions/8545540/why-override-needed-in-java-or-android
http://www.cnblogs.com/kaierwen/archive/2012/04/19/2456594.html
相关文章推荐
- 解决Android提示去掉@Override问题
- 【Android问题】解决创建Android模拟器时提示"No system images installed for this target"的问题
- Android 下拉刷新上拉加载(解决item未满一页时的显示问题、添加网络错误等提示)
- 解决eclipse3.7下android不能自动提示的问题
- Android虚拟机启动后,设备视图无设备。运行项目提示Please ensure that adb is correctly located at …问题的解决方法
- 【Android问题】Android导入一个工程时提示 Invalid project description的解决方法
- 彻底解决在win7 eclipse+android 开发,eclipse提示假死问题。
- 解决AndroidADT自带Eclipse编辑器不能自动代码提示的问题
- 关于android导入工程时出现的@Override错误问题的解决(转)
- 加载android 工程, @Override must override a superclass method 问题解决
- 关于android导入工程时出现的@Override错误问题的解决
- 解决AndroidADT自带Eclipse编辑器不能自动代码提示的问题。
- 解决AndroidADT自带Eclipse编辑器不能自动代码提示的问题。
- Android学习笔记(C-03)_解决Android工程里的xml文件自动提示问题
- 解决Android工程里的xml文件自动提示问题
- Android(java)学习笔记148:Eclipse中代码提示去掉@override,不然就报错!
- Android-解决AutoCompleteText下拉提示的字体颜色是白色的问题
- Android Eclipse 加载外部工程后错误提示 Unable to resolve target 'android-3'的问题解决
- 解决vs2015新建Android项目时,提示“未将对象引用设置到对象的实例”的问题
- 解决Android项目导入到Eclipse时@Override错误问题