`
happyday
  • 浏览: 19779 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

方法的重载与重写

阅读更多

1.方法的重载

 

   方法的重载就是让类以统一的方式来处理不同类型数据的一种手段。有时候,对于同一种功能却却有多种实现形式,到底采用何种实现形式,取决于调用者给定的参数。给定的参数不同,调用的方法也不同,比如,对于同一种动物,却用不同的训练形式,到底采用何种训练形式,取决于调用者。

写道

public void train(Dog dog){

} //传入狗的参数,执行狗的命令。

public void train(Monkey monkey){

}//传入猴子的参数,执行猴子的命令

 需要注意的是:方法的名称,参数的顺序及其类型构成了方法的签名,在类中每个方法的签名都必须唯一,编译器就是根

 

据方法的签名来判断在何时具体调用哪个方法,而返回类型对与方法的签名却没有任何影响。

 

2.方法的重写

 

  方法的重写在子类继承父类的时候才会出现。在子类继承父类的时候,我们可以直接的使用父类中的所有方法,但是有些时候父类中的方法不能完全适应我们的需要,我们可以对父类的方法进行适当的改变,这就叫方法的重写,也被称之为方法的覆盖。

 

需要我们注意到是,方法的重写与覆盖有一些不同点:

 

 a.方法的重写要求方法签名必须相同,而方法的重载要求方法签名必须不同。

 

 b.方法的重写放回类型必须一致,而方法的重载则没有要求。

 

 c.方法的重写只局限与子类和父类之间,而方法的重载可以在一个类的所有方法之间进行。

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics