我问师傅一个很简单的java问题,因为我不懂

java中为什么要进行方法重写啊,方法从写的作用是什么??谢谢了

通常,派生类继承基类的方法,因此,在调用对象继承方法的时候,调用和执行的是基类的实现.但是,有时需要对派生类中的继承方法有不同的实现.
例如,假设动物类存在"跑"的方法,从中派生出马和狗,马和狗的跑得形态是各不相同的,因此同样方法需要两种不同的实现,这就需要"重新编写"基类中的方法.
"重写"基类方法就是修改它的实现或者说在派生类中重新编写
//java代码 //方法重写
public class Father {
public void ovel(int i){
/*do something...*/
}
public String ovef(){
/*do something...*/
return "***";
}
}
public class Sun extends Father{
public void ovel(int i){
/*do other something...*/
}
public String ovef(){
/*do other something...*/
return "XXX";
}
}
总结:
重写— 1、必须是在继承里,
2、方法名、返回值类型、参数个数和参数类型 都必须相同
3、派生类重写的方法的访问权限不能低于基类的权限
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-03-30
由于体现出来的动作功能不一样,所以要重写,
例如:在鸟类里有一个fly()方法,这个方法所体现的动作是“我在天空里自由地飞翔....”,假如有一个鸵鸟类去继承fly()方法,鸵鸟也是鸟类,但是它不在飞,鸵鸟只能跑,所以“我在天空里自由地飞翔....”这个动作不适合它,所以它一定要重写fly()这个方法,写能“我在地面上自由地奔跑.....”。

我只是想帮你,如果说得不对的话,就当我没有说过。
第2个回答  2011-03-30
建议去看看java的多态和重载
第3个回答  2011-03-30
好好看看 多态和重载 你就明白了
多态(polymorphism),覆盖(Override),重载(overload)
也有把override译为重载的。
关于override和overload的翻译,好像不是很统一。
更多的应该是:
覆盖(override)和重载(overload)

参考资料:http://liubin.itpub.net/post/325/15623

相似回答