重载与重写有哪些区别?
一、重载与重写的区别
1、规则不同
重载的规则是:
必须具有不同的参数列表;可以有不同的访问修饰符;可以抛出不同的异常。
重写方法的规则是:
参数列表必须完全与被重写的方法相同,否则不能称其为重写而是重载;返回的类型必须一直与被重写的方法的返回类型相同,否则不能称其为重写而是重载;访问修饰符的限制一定要大于被重写方法的访问修饰符;重写方法一定不能抛出新的检查异常或者比被重写方法申明更加宽泛的检查型异常。
2、定义不同
重载是定义相同的方法名,参数不同;重写是子类重写父类的方法。
3、类的关系不同
重写是子类和父类之间的关系,是垂直关系;重载是同一个类中方法之间的关系,是水平关系。
4、多态不同
重载是编译时的多态性,重写是运行时的多态性
5、返回不同
重载对返回类型没有要求,而重写要求返回类型,有兼容的返回类型。
6、参数不同
重载的参数个数、参数类型、参数顺序可以不同,而重写父子方法参数必须相同。
7、修饰不同
重载对访问修饰没有特殊要求,重写访问修饰符的限制一定要大于被重写方法的访问修饰符。
延伸阅读:
二、什么是重载与重写
重载是指不同的函数使用相同的函数名,但是函数的参数个数或类型不同。调用的时候根据函数的参数来区别不同的函数。
重写(override):也称为覆盖。重写是子类对父类非静态、非private修饰,非final修饰,非构造方法等的实现过程进行重新编写 , 返回值和形参都不能改变。即外壳不变,核心重写, 重写的好处在于子类可以根据需要,定义特定于自己的行为。 也就是说子类能够根据需要实现父类的方法。
一个词语如果有多重含义,那么就说该词语被重载了,具体代表什么含义需要结合具体的场景。
以上就是关于重载与重写的区别的内容了,希望对大家有帮助。

猜你喜欢LIKE
相关推荐HOT
更多>>
VBS 和 Powershell 有什么区别?
一、VBS 和 Powershell 的区别VBSVBS是基于Visual Basic的脚本语言。VBS的全称是:Microsoft Visual Basic Script Edition。用记事本就详情>>
2023-10-11 23:04:33
时间敏感网络中流量整形与流量调度算法的区别是什么?
一、时间敏感网络中流量整形与流量调度算法的区别简单来说,整型算法是在流量尺度上的,比如名列前茅秒流量是 10Mb 第二秒是 2Mb,整型器可以把...详情>>
2023-10-11 22:03:47
执行字节码的虚拟机和执行机器码的物理机有什么区别?
一、执行字节码的虚拟机和执行机器码的物理机的区别执行字节码的虚拟机和执行机器码的物理机之间有以下区别:1、编译和执行方式不同执行机器码...详情>>
2023-10-11 21:14:20
卫星定位和基站定位的区别?
一、卫星定位和基站定位的区别1、定位方式不同基站定位是根据看到的通信铁塔为基准进行的定位。任何一部手机,只要在信号覆盖的地方,随时随地...详情>>
2023-10-11 18:41:09热门推荐
VBS 和 Powershell 有什么区别?
沸js中==和===的区别?
热时间敏感网络中流量整形与流量调度算法的区别是什么?
热数据科学、大数据、人工智能、机器学习有什么区别?
新执行字节码的虚拟机和执行机器码的物理机有什么区别?
PaaS 和 SaaS 有什么区别?
XFS 文件系统中soft limit 和 hard limit 有什么区别?
直接敲击加号键和按住shift敲加号键有什么区别?
store与save有哪些区别?
卫星定位和基站定位的区别?
软件层和应用层有哪些区别?
Ghost与复制有哪些区别?
mybatis与hibernate区别?
搞c的和搞java的有啥区别?
技术干货






