1.方法的重写(override)
当父类的方法不能满足子类的需求时,我们可以在子类中重写父类的方法,重写也称为复写或者覆盖。
方法重写需要符合以下三个要点:
-
== :方法名、形参列表必须相同。
-
<= :子类重写方法的修饰符权限必须大于等于父类被重写方法的修饰符权限。
父类的私有方法不能被重写,static修饰的方法不能被重写。
-
<= :子类的返回值类型和异常类型必须小于等于父类的返回值类型和异常类型。
如果父类被重写方法的返回值类型为基本数据类型、void和String类型,那么要求子类重写方法的返回值类型必须和父类被重写方法的返回值类型保持一致。
如果父类被重写方法的返回值类型为引用数据类型(不包含String类型), 那么要求子类重写方法的返回值类型必须和父类被重写方法的返回值类型保持一致,要么要求子类重写方法的返回值类型必须是父类被重写方法返回值类的子类。
【示例】方法重写案例
// 父类
class Parent {
public void show(){
System.out.println("父类中的 show方法执行");
}
}
// 子类
class