Android @Override详解
来源:互联网 发布:x11算法的数字货币 编辑:程序博客网 时间:2024/06/06 01:48
转载自 Android @Override详解
Android的开发者对@Override肯定是非常熟悉,不管是自己的代码中还是书上都会出现,但是他是什么意思呢?如下:
@Override是伪代码,表示重写(当然不写也可以),不过写上有如下好处:
1、可以当注释用,方便阅读
2、编译器可以给你验证@Override下面的方法名是否是你父类中所有的,如果没有则报错比如你如果没写@Override而你下面的方法名又写错了,这时你的编译器是可以通过的(它以为这个方法是你的子类中自己增加的方法)
example:
在重写父类的onCreate时,在方法前面加上@Override系统可以帮你检查方法的正确性。例如:
public void onCreate(BundlesavedInstanceState){…….}
这种写法是正确的,如果你写成
public void oncreate(BundlesavedInstanceState){…….}
这样编译器会报如下错误——
The method oncreate(Bundle) of type HelloWorld must override or implement a super type method,
以确保你正确重写onCreate方法。(因为oncreate应该为onCreate)
而如果你不加@Override,则编译器将不会检测出错误,而是会认为你新定义了一个方法oncreate。
现象:
... java: 1801: method does not override a method from its superclass @Override...
原因:
Eclipse is defaulting to Java 1.5 and you have classes implementing interface methods (which in Java 1.6 can be annotated with @Override, but in Java 1.5 can only be applied to methods overriding a superclass method).
就是说Java 1.5的编译器默认对父类的方法进行覆盖,采用@Override进行说明;但1.6已经扩展到对接口的方法;所以如果还是以Java 1.5的编译器来编译的话,会出现错误。
解决方案:
Go to your project/ide preferences and set the java compiler level to 1.6 and also make sure you select JRE 1.6 to execute your program from eclipse.
java的编译器是1.6版本的,选择编译级别为1.6,但重要的一点是,选择build的android库是1.5的即可,生成的apk程序是可以在1.5内核上跑起来。
总的来讲: android sdk的版本与Java JRE的版本可以配置起来用,两者关系应该是疏松的,有高人可以指点错误。
1、Android里有一些系统自动调用的回调函数CallbackMethods,如果写的程序运行无错,但是就是没有该有的反应,那就可能是覆写回调函数时没有加@Override且函数名写错了。2、覆写的函数最好 加上@Override。3、可以在Source-> Override/Implement Methods下自动添加覆写和接口函数,可以确保函数名拼写正确。
- Android之@Override详解
- Android之@Override详解
- Android之@Override详解
- Android之@Override详解
- Android之@Override详解
- Android @Override详解
- android override
- Java @Override 详解
- virtual override new 详解
- Overload和Override详解
- android 中的@Override
- android override简介
- Android中的@override
- @Override报错处理详解
- C#关键字之override详解
- android工程@Override报错
- Android的Override错误ZZ
- Android中为什么使用@override
- Hibernate-二级缓存
- idea将maven项目生成jar包到本地maven仓库
- 页面加载进度条--progress
- 安卓 仿美团网,大众点评购买框悬浮效果学习
- HBuilder Android APP打包发布
- Android @Override详解
- QML与C++的集成
- android中常见的设计模式有哪些?
- salesforce零基础学习(七十九)简单排序浅谈 篇一
- 虚拟主机是什么?
- java email 验证用户名密码是否正确
- 递归统计推荐人
- Android课程表客户端实现方案
- androidstuido报错之Java.util.zip.ZipException: duplicate entry