重写,重载,覆盖之间的关系。

重写 override,重载 overload,重写,重载,覆盖都是基于继承关系!

1、关于覆盖:

1)覆盖的方法的参数列表必须要和被覆盖的方法的参数列表完全相同,才能到达覆盖的效果。

2)覆盖的方法的返回值必须和被覆盖的方法的返回值一致。

3)覆盖的方法所抛出的异常必须和被覆盖方法的所抛出的异常一致,或者是其子类。

4)被覆盖的方法不能为private,否则在其子类中只是重新定义了一个方法,并没有实行覆盖。

2、重载

1)使用重载时只能定义不同的参数列表

2)不能通过重载的方法的返回类型、访问权限和抛出的异常来进行方法的重载。

3、重写

重写的方法存在于父类中,也存在于子类中。

重写的方法在运行期采用多态的形式。

重写的方法不能比被重写的方法有更高的访问限制。

重写的方法比被重写的方法有更多的异常。

原文地址:https://www.cnblogs.com/huhaibo/p/3439342.html