当前位置:  开发笔记 > 编程语言 > 正文

Android @Override用法

如何解决《Android@Override用法》经验,为你挑选了3个好方法。

(新手到Java,旧时代的C#家伙.)

我注意到@OverrideAndroid示例代码中有很多用处.我认为所有Java方法都默认为"虚拟"?

然后做@Override什么?

例:

private class HelloWebViewClient extends WebViewClient {

    @Override
    public boolean shouldOverrideUrlLoading(WebView view, String url) {
        view.loadUrl(url);
        return true;
    }
}

JRL.. 99

这是一个注释,您可以使用它来告诉编译器和IDE您希望该注释的方法是超类方法的重写.如果您犯了错误,它们会有警告/错误,例如,如果您打算覆盖方法但拼错它,如果注释在那里IDE或编译器会告诉您它实际上并不覆盖超类方法因此你可以确定原因并纠正拼写错误.

这对Android应用程序和活动来说更为重要,例如,所有调用都将基于活动生命周期 - 如果您没有正确覆盖生命周期方法,它们将永远不会被框架调用.一切都会正常编译,但你的应用程序将无法按照你想要的方式工作.如果添加注释,则会出现错误.



1> JRL..:

这是一个注释,您可以使用它来告诉编译器和IDE您希望该注释的方法是超类方法的重写.如果您犯了错误,它们会有警告/错误,例如,如果您打算覆盖方法但拼错它,如果注释在那里IDE或编译器会告诉您它实际上并不覆盖超类方法因此你可以确定原因并纠正拼写错误.

这对Android应用程序和活动来说更为重要,例如,所有调用都将基于活动生命周期 - 如果您没有正确覆盖生命周期方法,它们将永远不会被框架调用.一切都会正常编译,但你的应用程序将无法按照你想要的方式工作.如果添加注释,则会出现错误.


它不仅适用于IDE.如果@Override一个不在超类中的方法,Java编译器将产生错误.

2> 小智..:

这段代码对于初学者谁真的想了解这个@Override过程,这对你有帮助!(提醒Java的继承概念.)

例如,Fish该类可能有两个子类:FreshwaterFishSaltwaterFish.

这些子类具有Fish该类的所有功能,但可以通过新的属性和行为或父类的修改行为进一步自定义对象Fish.例如,FreshwaterFish该类可能包括有关生活在淡水环境中的类型的信息(例如河流,湖泊,池塘或水坑).

类似地,SaltwaterFish类可以自定义makeBabyFish()方法,使得鱼在繁殖后(如超类中所定义)通过使用覆盖机制来吃它的配偶,如下所示:

public class SaltwaterFish extends Fish  
{  
    @Override  
    public void makeBabyFish(Fish fishSpouse, int numBabies) {  
        // call parent method  
        super.makeBabyFish(fishSpouse, numBabies);  
        // eat mate  
        eat(fishSpouse);  
    }  
}


非常好解释..谢谢

3> lostinicelan..:

Override-Annotation只是您想要覆盖某个函数的编译器的提示.然后,如果函数存在,编译器将检查父类和接口.如果没有,您将收到编译错误.

它基本上只是一种安全机制.

供参考,请参阅本文(覆盖在中间某处解释)


那条链接现在已经死了
[存档版本](https://web.archive.org/web/20080905021258/http://java.sun.com/docs/books/tutorial/java/javaOO/annotations.html)
推荐阅读
凹凸曼00威威_694
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有