首页 / 智能数码 / 正文

方法覆盖和重写的区别

时间:2024-06-30 00:02:23

方法覆盖和方法重载的区别 

方法覆盖和方法重载是Java中两种不同的概念,它们的区别主要体现在以下几个方面:

1. 发生场景:方法覆盖发生在子类继承父类时,子类对父类的方法进行重写;而方法重载发生在同一个类中,通过不同的参数列表来区分不同的方法。

2. 参数列表:方法覆盖要求参数列表必须相同;方法重载要求参数列表必须不同,即参数的个数、类型或顺序必须有所不同。

3. 返回类型:方法覆盖要求返回类型必须一致;方法重载对此没有要求,可以相同也可以不同。

4. 异常:方法覆盖要求抛出的异常必须和被覆盖方法的所抛出的异常一致,或者是其子类;方法重载在这方面没有任何限制。

5. 访问权限:方法覆盖对方法的访问权限有特殊要求,而方法重载没有这方面的限制。

6. 调用方式:方法覆盖关系中,调用哪个方法体是根据对象的类型来决定;方法重载关系中,是根据调用时的实参表与形参表来选择方法体。

7. 出现次数:父类的一个方法只能被子类覆盖一次;而一个方法可以在所有的类中可以被重载多次。

《方法覆盖和重写的区别》不代表本网站观点,如有侵权请联系我们删除

广州她氧信息科技有限公司 她氧网版权所有 粤ICP备2023058637号