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

方法的重载与重写

阅读更多

1.方法的重载

 

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

写道

public void train(Dog dog){

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

public void train(Monkey monkey){

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

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

 

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

 

2.方法的重写

 

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

 

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

 

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

 

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

 

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

分享到:
评论

相关推荐

    Java中方法重载与重写的区别

     方法的重载是同一个类中多态性的一种表现。  方法重载须遵循如下两条规则  (1)方法名相同。  (2)参数列表不同。  注意:方法的返回值类型不能用来区分重载的方法。这是因为当调用一个方法时,返回值...

    Java方法重载和重写原理区别解析

    主要介绍了Java方法重载和重写原理区别解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

    C#中重载与重写区别分析

    前段时间,刚学完C#,其中重载、重写傻傻分不清楚。如今通过查阅资料对这两者有了一个大概的理解,不足之处还请多多指教。 二、定义  重载:在同一定义域内(比如一个类里面)。方法名相同,参数个数、次序、类型...

    类的方法重载,重写以及构造方法。

    概念 : 方法重载是指在一个类中定义多个同名的方法,但要求每个方法具有不同的参数的类型或参数的个数 public class OverloadTest01{ //定义一个方法,计算两个int 类型的和 public static int sumInt(int a,int b)...

    C#重写重载与多态

    重写:是指重写基类的方法,在基类中的方法必须有修饰符virtual,而在子类的方法中必须指明override。重载:用于在给定了参数列表和一组候选函数成员的情况下,选择一个最佳函数成员来实施调用。多态:c#的多态性...

    C#中多态、重载、重写区别分析

    主要介绍了C#中多态、重载、重写区别,采用实例较为通俗易懂的分析了多态、重载的重写的概念与用法,对于C#初学者有非常不错的借鉴价值,需要的朋友可以参考下

    实例分析java中重载与重写的区别

    主要介绍了实例分析java中重载与重写的区别,需要的朋友可以参考下

    PHP面相对象中的重载与重写

    重写Overriding是父类与子类之间多态性的一种表现,重载Overloading是一个类中多态性的一种表现。Overloaded的方法是可以改变返回值的类型。也就是说,重载的返回值类型可以相同也可以不同。 重载(Overloading) a、...

    方法重载和方法重写

    NULL 博文链接:https://ezbcw.iteye.com/blog/2142995

Global site tag (gtag.js) - Google Analytics