重写和重载的区别是什么?有哪些区别?

KLQ 2020-04-28 15:59:01 java常见问答 3430

大家对于Java当中的重写和重载都了解吗?那么重写和重载究竟有什么区别呢?有哪些不同之处?下面就和小编一起来了解一下吧!

一、重写和重载的区别

1、从概念上来看

重写:重写也就是我们通常所说的覆盖,重写是指在派生类当中,重新对基类中的虚函数度重新实现。

重载:重载指的是不用的函数使用相同的函数名字,可是,函数的参数、个数或者是类型都不同。

2、从规则上来看

重载:

(1)重载可以有不同的访问修饰符

(2)重载能够抛出不同的异常

(3)重载一定要有不同的参数列表

重写:

(1)重写访问修饰符的限制一定要大于被重写方法的访问修饰符

(2)重写的参数列表一定要完全和被重写的方法相同,专否则的话不能称其为重写而是重载

(3)重写返回的类型一定要一直和被重写的方法的返回类型相同,否则不能称其为重写而是重载

(4)重写方法一定不可以抛出新的检查异常或者是比被重写方法申明更加宽泛的检查型异常

3、类的属关系上来看

重写:重写是垂直关系,是子类和父类之间的关系

重载:重载是水平关系,是同一个类中方法之间的关系

以上就是重写和重载的具体区别了,你都了解了吗?

更多java常见问答,请继续来本站了解吧。