Java 理解方法的重写机制
一、关于方法重写
1、Java中,方法重写2种情况:
- 子类重写父类的方法;
- 实现类重写接口的方法。
2、不能重写条件:方法被 private 、 final 、 static 修饰,则不能重写。
二、理解方法重写机制
1、创建内部类 Father 、 创建内部类Son 继承Father ,一个test方法 如下:
static class Father{
protected InputStreamReader test(OutputStreamWriter writer) throws Exception {
return null ;
}
}
static class Son extends Father{
@Override
public FileReader test(OutputStreamWriter writer) throws RuntimeException {
return null;
}
}
2、分别调整 修饰符、返回值、方法名、形参 、 异常 的类型,观察是否报错
3、得到结果如下图:
4、补充:
public 修饰符权限大于 protected FileReader extends InputStreamReader 方法名和形参要一致 RuntimeException extends Exception
三、总结
1、方法被 private 、 final 、 static 修饰,则不能重写。
2、重写规则总结如下:
* 1、修饰符: >= 父类 * 2、返回值: <= 父类 * 3、方法名: 必须一致 * 4、形式参数:必须一致 , 传参时 <= 父类 * 5、抛出异常:<= 父类
3、除了修饰符 >= ,其他都为 <= 。



