关于Java重写与重载的理解

重载

定义:同一类中,方法名相同,参数列表不同的一组方法的定义,与返回值无关

为什么需要重载?
在我们用编程时,我们可能要定义一些操作内容相似但是参数列表不同的方法,比如构造方法的重载,减少了我们针对不同的参数列表重新想方法名,节约了方法名,也使我们在阅读代码的时候更简单明了

对于继承父类的子类能否重载父类的方法这个问题:肯定是不能的,因为在不同类中不存在重载的说法。但是子类继承了父类后,自然也就继承了其方法,这时候我们在子类中对它自己的方法重载当然是可行的,这样做看上去似乎是子类重载了父类的方法,但是实际上是对自己的方法重载。所以不存在子类出重载父类这种说法。

重载的特点:

  • 必须在同一个类中才叫重载
  • 必须方法名相同,参数列表不同

重写

定义:在子类中,出现和父类中完全相同的方法声明(返回值类类型 方法名 参数列表),只是方法体不一样

为什么需要重写?
我们知道,每个人在生活中或多少会有我们父母的缩影,这就是继承的体现,而重写所反映的就是我们与父母的不同之处。当出现父类和子类在某一方法上的不同,父类的方法不能满足子类的需求,则可以在子类中对父类的方法进行重写(或覆盖)。

重写的特点:

  • 必须三要素完全相同(返回值类型,方法名,参数列表)
  • 子类重写父类方法时,使用的权限修饰符要大于等于父类方法的权限
  • 父类private修饰的方法不能被子类重写,即使子类有完全相同的方法也不属于重写,属于重新定义一个新方法;final 修饰的父类方法不可被重写,否则会报错。
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

浩茫

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值