什么是方法覆盖
子类拓展了父类,可以获得父类的部分方法和成员变量。
可是当父类的某个方法 不适合于
子类本身的特征时,可以进行覆盖,重新定义父类当中的方法
方法的覆盖原则
- 实例方法签名必须相同(方法名+方法参数)
- 子类方法的返回值类型是和父类方法的返回类型相同或者是其子类。
- 子类方法声明抛出的异常类型和父类方法声明抛出的异常类型相同或者是其子类
- 子类方法的访问权限比父类方法访问权 限更大或相等
判断方法是否为覆盖方法
判断是否是覆写方法使用 @Override 标签,若方法是覆写方法,在方法前或上贴上该标签, 编译通过,否则,编译出错。只有方法存在覆盖的概念,字段没有覆盖。
什么时候进行方法的覆盖
当父类的某一个行为不符合子类具体的特征的时候,此时子类需要重新定义父类的方法,并重写方法体