Ian*_*ink 67 java android overriding
(新手到Java,旧时代的C#家伙.)
我注意到@OverrideAndroid示例代码中有很多用处.我认为所有Java方法都默认为"虚拟"?
然后做@Override什么?
例:
private class HelloWebViewClient extends WebViewClient {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
view.loadUrl(url);
return true;
}
}
Run Code Online (Sandbox Code Playgroud)
JRL*_*JRL 99
这是一个注释,您可以使用它来告诉编译器和IDE您希望该注释的方法是超类方法的重写.如果您犯了错误,它们会有警告/错误,例如,如果您打算覆盖方法但拼错它,如果注释在那里IDE或编译器会告诉您它实际上并不覆盖超类方法因此你可以确定原因并纠正拼写错误.
这对Android应用程序和活动来说更为重要,例如,所有调用都将基于活动生命周期 - 如果您没有正确覆盖生命周期方法,它们将永远不会被框架调用.一切都会正常编译,但你的应用程序将无法按照你想要的方式工作.如果添加注释,则会出现错误.
小智 51
这段代码对于初学者谁真的想了解这个@Override过程,这对你有帮助!(提醒Java的继承概念.)
例如,Fish该类可能有两个子类:FreshwaterFish和SaltwaterFish.
这些子类具有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);
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
62664 次 |
| 最近记录: |