方法重写的概念:
子类继承了父类,子类就得到了父类的某个方法
但是子类觉得父类的这个方法不好用或者无法满足自己的需求
子类重写一个与父类申明一样的方法来覆盖父类的该方法,子类的这个方法
就进行了方法重写
public class ExtendsDemo {
public static void main(String[] args) {
Wolf w = new Wolf();
w.run();
}
}
class Wolf extends Animal{
//进行了方法重写!!
@Override
public void run(){
System.out.println("狼跑的贼快~~");
}
}
class Animal{
public void run(){
System.out.println("动物可以跑步~~");
}
}
在方法重写之后实现类中实现run方法就不再是原先继承Animal中的run方法而是被重写的wolf中的run方法,其实也就相当于覆盖了原先的run方法。
方法重写的校验注解:@Override
Java建议在重写的方法上面加上一个@Override注解。
方法一旦加了这个注解,那就必须是成功重写父类的方法,否则报错!
@Override优势:可读性好,安全,优雅!
方法重写的具体要求:
1.子类重写方法的名称和形参列表必须与父类被重写方法一样
2.子类重写方法的返回值类型申明要么与父类一样,要么比父类返回值类型范围更小。
3.子类重写方法的修饰符权限应该与父类被重写方法的修饰符权限相同或者更大
4.子类重写方法申明抛出的异常应该与父类被重写方法申明抛出的异常一样或者范围更小