重载与重写的区别

方法重载

参数不一样,名字可以一样
在这里插入图片描述

方法重写

需要有继承关系,子类重写父类发方法

  1. 方法名必须相同

  2. 参数列表必须相同

  3. 修饰符:范围可以扩大: public>protect>default>private

  4. 抛出的异常:范围,可以被缩小:但是不能扩大:classnotfoundexception --》exception(大)

    重写,子类的方法和父类必须一致;方法体不同!

    为什么要重写?

    1. 父类的功能,子类不一定需要或者不一定满足!

      idea重写快捷键: Alt+Insert:override;

    重写和重载的区别

1.Override是重写,Overload是重载,两者都是实现多态的方式,区别在于重载是编译时的多态,而重写是运行时的多态.
2.Overload前提是在同一个类中,只要函数名相同,参数列表不同,即构成重载,与返回值无关
3.Override出现在子类和父类中,子类必须和父类声明同样的方法和返回值类型.而且不能比父类被重写方法声明更多异常和拥有更大访问权限.
4.重载对返回类型无要求,不能根据返回类型进行重载识别.

重写与重载之间的区别

方法重载:
1、同一个类中
2、方法名相同,参数列表不同(参数顺序、个数、类型)
3、方法返回值、访问修饰符任意
4、与方法的参数名无关

方法重写:
1、有继承关系的子类中
2、方法名相同,参数列表相同(参数顺序、个数、类型),方法返回值相同
3、访问修饰符,访问范围需要大于等于父类的访问范围
4、与方法的参数名无关

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

Java中的战斗机

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

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

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

打赏作者

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

抵扣说明:

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

余额充值