通常,派生类继承基类的方法,因此,在调用对象继承方法的时候,调用和执行的是基类的实现.但是,有时需要对派生类中的继承方法有不同的实现.
例如,假设动物类存在"跑"的方法,从中派生出马和狗,马和狗的跑得形态是各不相同的,因此同样方法需要两种不同的实现,这就需要"重新编写"基类中的方法。"重写"基类方法就是修改它的实现或者说在派生类中重新编写。
//java代码
//方法重写
public class Parent {
public void ovel(int i){
/*do something...*/
}
public String ovef(){
/*do something...*/
return "***";
}
}
public class Child extends Parent{
public void ovel(int i){
/*do other something...*/
}
public String ovef(){
/*do other something...*/
return "XXX";
}
}
1、必须是在继承里
2、方法名、参数个数和参数类型 都必须相同
3、jdk1.5以后,返回值类型可以与父类相同,也可以与父类不同,但是要求返回值类型是父类的子类。如: 父类的返回值类型是Object类,子类的返回值可以是Object类的子类比如String[1]
4、派生类重写的方法的访问权限不能低于基类的权限
5、派生类抛出的异常应该和基类相等或比基类更小