为了账号安全,请及时绑定邮箱和手机立即绑定

重载与覆盖

请问一下方法的重载与方法的覆盖二者的作用不同在哪里?(是作用哦!)

正在回答

3 回答

首先要清楚重载和覆盖的概念

重载是指在同一个类中,方法名相同,参数列表不同

覆盖是指在子类继承父类时,重新定义父类的某一个方法

作用方面的不同在于:

重载是为了解决在同一个类中,相同功能需要定义不同方法名的问题。例如,当我们需要定义一个求两数之和的方法和一个求三数之和的方法时,如果没有重载,就需要使用两个不同的方法名(如sum1和sum2);但有了重载后,我们就可以使用同一个方法名(如sum),然后根据参数列表的不同来区分(如求两数之和时传入两个参数,求三数之和时传入三个参数)。这样在程序员调用方法时,同一个功能就不需要记忆不同的方法名,只需要控制传入的参数即可。

覆盖是为了解决在子类继承父类时,父类的某个方法不适用于该子类的问题,这时,该子类就可以重新定义该方法来覆盖父类的方法。例如,存在一个people类,类中有一个sleep方法定义了正常人的每天睡眠时间在8~9个小时。然后一个student子类继承自people父类,这时,父类的sleep方法就不适用于子类,它需要重写一个sleep方法定义学生每天的睡眠时间在6~7个小时。

6 回复 有任何疑惑可以回复我~
#1

幕布斯7482464 提问者

好的,谢谢你。
2018-09-23 回复 有任何疑惑可以回复我~

看完才知道覆盖才是重写

0 回复 有任何疑惑可以回复我~

好的,谢谢你。

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

重载与覆盖

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信