方法的重写
基本概念:
若从子类中继承下来的方法不能满足子类的需求时,我们就需要在子类中重新写一个和父类中继承下来的方法一样的方法来覆盖从父类中继承下来的方法,这种方法的重写就叫做方法的重写
-
在实际的编程中,遇到要进行重写的方法我们一般使用快速打字法(也就是ctrl+c和ctrl+v)的方式来进行重写,而确保是一样的方法.
-
一般在进行方法的重写是我们要进行标注(也就是加@Override)
标注:说明下面的方法是对父类方法的重写,如果下面方法不是重写方法但是却加了重写方法的标注的话那么编译就会报错
方法重写的原则:
1.要求方法名称相同,参数类表相同,方法的返回值类型也相同,jdk1.5之后可以返回其子类的类型
eg: (父类中的方法)public Person show()
(子类中重写的方法)public Student show()
这里的Person类为Student类的子类
2.要求方法的访问权限不能变小,要么权限变大,要么权限相同
(因为方法的重载发生在继承之中,而继承的关键字为extends(扩展),既然名为扩展那么也就是访问的控制符一定是不能变小,只能是变大或者相同)
- static 类型的方法重写后也必须是static的(不能改变,改变就会报错)
- 而且static类型的重写方法前面不能加标注(@Override)(这是一个历史遗留问题)
3.要求不能抛出更大的异常
注意:
方法重写的标注(@Override)后面不加冒号
跳转语句(break和continue)的标签后面必须要加冒号