关于Android Java编程的@Override
2011-08-18 05:45
141 查看
最近遇到一个Java编程的问题,很有意思。看下面两段代码,不够眼尖,不细看,你会发现一模一样。可是上面一段有错,下面一段却没错。
因为是自己照例子编一段代码,总是运行时正常却没反应,刚开始遇到这个问题时,我对了好多遍代码。最后不得不一段一段复制过来对比。结果定位到这个函数。此时我自己还看不出错误,我甚至加上了@Override。因为不加@Override,编译完全不显示错误,没有任何画线提示。
我仅是注释第二部分代码,看到第一部分提示出错。
注释第一部分时,第二部分不提示错误,而且运行正常且反映是预期的。
后来,请另一个人来看,是这么回事,是覆写的函数名写错了。名字写错,当时他也犯过这样的错误,我也是几眼就看出来了。现在是不加@Override,编译器不知道是覆写函数,所以不提示错误;加上@Override后,编译器给予提示,但是如果你不知道你写的是一个覆写函数的话, 你不知道它提示的错误信息指的是什么,它给予的修复方案是去除次函数,那是你不认为应该这样做的。
最后的结论是:1、Android里有一些系统自动调用的回调函数CallbackMethods,如果写的程序运行无错,但是就是没有该有的反应,那就可能是覆写回调函数时没有加@Override且函数名写错了。2、覆写的函数最好 加上@Override。3、可以在Source-> Override/Implement Methods下自动添加覆写和接口函数,可以确保函数名拼写正确。
不知道你对此还有什么高见?
因为是自己照例子编一段代码,总是运行时正常却没反应,刚开始遇到这个问题时,我对了好多遍代码。最后不得不一段一段复制过来对比。结果定位到这个函数。此时我自己还看不出错误,我甚至加上了@Override。因为不加@Override,编译完全不显示错误,没有任何画线提示。
我仅是注释第二部分代码,看到第一部分提示出错。
注释第一部分时,第二部分不提示错误,而且运行正常且反映是预期的。
后来,请另一个人来看,是这么回事,是覆写的函数名写错了。名字写错,当时他也犯过这样的错误,我也是几眼就看出来了。现在是不加@Override,编译器不知道是覆写函数,所以不提示错误;加上@Override后,编译器给予提示,但是如果你不知道你写的是一个覆写函数的话, 你不知道它提示的错误信息指的是什么,它给予的修复方案是去除次函数,那是你不认为应该这样做的。
最后的结论是:1、Android里有一些系统自动调用的回调函数CallbackMethods,如果写的程序运行无错,但是就是没有该有的反应,那就可能是覆写回调函数时没有加@Override且函数名写错了。2、覆写的函数最好 加上@Override。3、可以在Source-> Override/Implement Methods下自动添加覆写和接口函数,可以确保函数名拼写正确。
不知道你对此还有什么高见?
相关文章推荐
- 关于android导入工程时出现的@Override错误问题的解决
- Android笔记之关于 overridePendingTransition()使用
- 关于android导入工程时出现的@Override错误问题的解决<转>
- 关于android开发中的@Override
- 关于android导入工程时出现的@Override错误问题的解决
- 关于android导入工程时出现的@Override错误问题的解决(转)
- 关于NDK的配置以及第一个应用程序(android中java语言调用c/c++)
- 关于android stuidio的基本设置
- Android 关于“NetworkOnMainThreadException”出错提示的原因及解决办法
- 关于Android xml 绘图
- 关于android frame动画的问题
- android关于startActivityForResult的用法记录
- 关于Android Studio编译报Re-Gradle's dependency cache may be corrupt错误
- 关于Android的prelink
- 关于Android Service的一些补充
- 关于Android的GridView添加HeaderView,FooterView.
- android JNI学习之三 关于Android.mk
- J2ME 移植android 关于DAT文件的读取
- [转] 关于 Eclipse 导出 Android项目 JavaDoc 详细过程
- android开发教程关于屏幕设计的建议