方法重载和重写的区别

 我来答
刺任芹O
2022-11-16 · TA获得超过6.2万个赞
知道顶级答主
回答量:38.7万
采纳率:99%
帮助的人:9023万
展开全部

Overload是重载的意思,表示在同一个类中,允许存在一个以上的同名函数,只要他们的参数个数或者参数类型不同即可,Override是覆盖的意思,也就是重写,它与返回值类型无关,只看参数列表,两者不同主要体现在:目的不同、范围不同、参数不同、多态性不同、返回类型不同。

1、目的不同

overload用于增加程序的可读性(做法不同,但是做的同一事情)。  override用于提供其超级类已经提供的方法的特定实现。  

2、范围不同

overload 在相同的类范围内内执行。  override发生在两类具有继承(继承)的关系。

3、参数不同

overload参数必须不同。  override参数必须相同。 

4、多态性不同

overload 静态多态,调用的函数在编译时被选中。  override 是运行时多态性的。 

5、返回类型不同

overload中可以相同或不同。但你必须改变参数。  override必须是相同的或协变的。

参考资料来源:

百度百科-overload

百度百科-override

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式