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、除了修饰符 >= ,其他都为 <= 。
|