overload和override

本文探讨了Java中的重载(Overload)和覆盖(Override)的区别。重载发生在同名但参数不同的方法之间,可在当前类、父类或子类中。而覆盖仅在子类覆盖父类同名同参数的方法时发生。关键点在于:子类覆盖方法需完全匹配父类的返回类型、参数列表和方法名,且不能降低访问权限。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

    说实话,这两个没有什么可比较的,概念相差那么大,但是很多笔试题之类的还喜欢考。只是长的像了一点而已。

overload是重载,对方法而言,同名不同参数,可以发生在当前类,也可以发生在父类和子类的身上。

override是覆盖,主要是发生在父类和子类的身上,子类继承了父类,然后写一个和父类同名,同参数的方法,那么父类的方法就被子类覆盖掉了。

但是,我总结了最重要的两点:

1.子类的方法的返回类型,参数,方法名称,要和父类方法的返回类型,参数,方法名完全一样,否则编译出错。

2.子类方法不能缩小父类方法的访问权限。(体现在修饰符上面,比如父类是public 的,子类变为了protected就不行了),但是反过来可以,就是说子类可以放大父类的方法的访问权限。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

Think_Higher

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

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

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

打赏作者

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

抵扣说明:

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

余额充值