java override 用法_关于java:Android @Override用法

这篇文章解释了Java中的@Override注解的作用,它用于标记方法为超类方法的重写,确保编译时检查和IDE的警告,尤其是在Android中避免生命周期方法错误。通过继承与覆盖的例子,展示了如何正确使用@Override来定制行为。
摘要由CSDN通过智能技术生成

本问题已经有最佳答案,请猛点这里访问。

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

我注意到在Android示例代码中使用了很多@Override。 我认为所有Java方法都默认为"虚拟"?

然后@Override做什么?

例:

private class HelloWebViewClient extends WebViewClient {

@Override

public boolean shouldOverrideUrlLoading(WebView view, String url) {

view.loadUrl(url);

return true;

}

}

作为旁注,Override不是Android特定的,而是Java 5及更新版本中存在的注释:java.sun.com/j2se/1.5.0/docs/api/java/lang/Override.html

整个问题/线程帮助我理解了@override的工作原理。 好问题,好答案。 谢谢大家。

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

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

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

@Romain Guy:吹捧一个既成事实!

每当出现错误时 - >添加@override。 这就是答案所说的-_-

这段代码对于初学者谁真的想了解@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);

}

}

非常好解释..谢谢

所以基本上你使用override来"删除"并从超类中重写一个函数。 得到它了。

为什么在调用eat方法之前没有添加类名?

如果没有"@Override"注释会怎么样? 一些错误?

有史以来最好的解释

这应该是公认的答案

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

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

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

那条链接现在已经死了

存档版本

感谢您更新的链接。 我更新了我的答案。

覆盖主要用于定义方法。覆盖类似于其含义。

我将尝试以非常蹩脚的方式解释。假设您已经定义了Oncreate()方法并且具有与之关联的属性。再次当您在代码中为某个对象调用Oncreate()方法时,您现在编写的代码将覆盖您的应用程序的正式定义的属性或Oncreate()的继承属性。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值