您的位置:首页 > 移动开发 > Android开发

关于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下自动添加覆写和接口函数,可以确保函数名拼写正确。

不知道你对此还有什么高见?
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息