继承:成员方法的覆盖

一、方法覆盖(Override)的原则:3同2小1大

3同:

1、同为类方法或同为实例方法

2、方法名相同

3、形参列表相同

2小:

1、子类方法的返回值类型应比父类方法的返回值类型更小或相等

2、子类方法声明抛出的异常应比父类方法声明抛出的异常更小或相等

1大:

子类方法的访问权限应比父类方法的访问权限更大或相等

 

二、简单分析

如果系统检测到子类的两个方法的方法名相同、形参列表不同,那么系统就会认为这是方法的重载(不再检测方法的其它内容,比如修饰符、返回值类型等)。

如果系统检测到子类的两个方法的方法名相同、形参列表也相同, 那么系统就会认为这是方法的覆盖,进而再检测是否满足覆盖原则,如果满足则编译通过,否则报错。

猜你喜欢

转载自guoying252166655.iteye.com/blog/2101786
今日推荐