1.运用场景:
假如有100个类,分别为Sub1,Sub2,Sub3,它们的一个共同行为是写字,除了Sub1类用脚写字以外,其余的类都用手写字。我们可以抽象出一个父类Base,它有一个方法write()表示写字,为了提高代码可重用性,write(应该采用大多数子类的实现方式。
定义父类如下:
public void write (){
//用手写字 ...
}
在子类中重定义write 方法:
public void write (){
//用脚写字 ...
}
2.定义:如果在子类中定义的一个方法,其名称,返回类型以及参数签名(参数的类型,参数的个数,参数的顺序)相匹配,那么,就说子类覆盖了父类的方法
3.覆盖方法必须满足多种约束:
(1)子类方法的名称,参数签名,和返回类型必须与父类方法的一致
(2)子类的方法不能缩小父类方法的访问权限
(3)子类不能抛出比父类更多的异常