Java面试题——关于重写(override)与重载(overload)

本文详细解释了Java中重写(override)与重载(overload)的概念,并阐述了两者之间的区别。重写涉及父类与子类间的方法替换,而重载则关注同一类中的多个同名方法。文章还提供了具体的规则来区分这两种多态形式。

一. 首先,什么是重写?什么是重载?
1.重写(override)

  重写是发生于父类与子类之间多态性的一种表现,简单的说就是子类重写父类的“可被重写”的方法,为什么说“可被重写”呢,因为在Java中含有private、final以及static等修饰符的方法是不具有多态性的(构造方法也不可重写,因为构造方法实际上就是static方法,只不过其申明是隐式的),也即子类不可重写父类中的这些方法。

2.重载(overload)

  重载是发生于单个类中多态性的一种表现,简单的说就是在一个类中编写不同形参(形参个数、类型或顺序不同)的同名方法,然后可以通过该类的对象根据不同形参的方法称为重载。

二. 再者,重写(override)与重载(overload)的区别在哪

区别点重写重载
形参不可改变必须改变
返回类型不可改变可修改
异常可以减少或删除父类方法所抛出异常,一定不能抛出新的或者更广的异常可修改
访问修饰符可降低限制(例如可将public改为protected protected改为public ),但不可升级为更严格修饰限制可修改

PS:自己当做笔记用,仅供参考,如有错误,烦请指出,不胜感激。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值