当前位置: 代码迷 >> 综合 >> JAVA中重写和重载的区别。
  详细解决方案

JAVA中重写和重载的区别。

热度:17   发布时间:2023-10-22 23:28:04.0

本文记录一下java中方法的重写和重载的区别。

1)JAVA中方法的重写也就是我们说的覆盖。Override

一般是在继承的时候,重写父类的方法,实现子类需要的功能。那么重写的时候,要遵循的规则有以下几种:

(1)重写的方法,其方法签名要(包括方法名,参数类型,参数个数)要和原来的方法一模一样。

(2)重写的方法,其访问权限不能低于原来的方法。(public>protected>default>private)

(3)重写的方法,其修饰符访问权限不能是private。这也就是由上一条推出来的。

(4)父类的静态方法不能被重写。

(5)重写的方法,其抛出的受查异常不能大于原来方法的受查异常。例如:

原方法申明了一个检查异常IOException,在重写这个方法是就不能抛出Exception,只能抛出IOException的子类异常,可以抛出非受查异常。


2)JAVA中的方法重载。OverLoad

方法的重载一般出现在同个类中,创建多个方法名相同,而参数不同的方法,就叫方法的重载。调用的时候,会根据传入的参数不同,自动调用对应的方法。这也是java多态的体现。重载方法的要遵循以下规则:

(1)一定要有不同的参数列表。

(2)可以有不同的返回类型

(3)可以有不同的访问修饰符

(4)可以抛出不同的异常。