方法覆盖
1.1方法覆盖的概念
当子类继承父类后,发现父类的方法需要改进,对该方法进行重写,这种行为叫方法覆盖
覆盖后,则会调用覆盖后的方法
1.2方法覆盖的条件
回顾方法重载条件
- 同一个类当中
- 相同的方法名
- 不同的参数列表
方法覆盖条件
- 两个类有继承关系
- 重写方法和原方法:
- 有相同的方法名
- 相同的参数列表
- 如果参数列表不同,会构成方法重载,不会进行方法覆盖
- 相同的返回值
- 对于基本数据类型int double 之类的必须一致
- 但引用类型可以不同,可以缩小为原来类型的子类(这种情况几乎遇不到,很少见)
- 访问权限不能更低,可以更高
- 重写之后不能比之前抛出更多异常
1.3 注意事项
-
方法覆盖针对于方法,和属性无关
-
构造方法不能被继承,所以不能被覆盖
-
私有方法无法覆盖
public class OverridTest { private void doSome()//父类中private的方法 { System.out.println("Private的doSome方法正在调用"); } public static void main(String[] args) { OverridTest