1.方法的重载
方法的重载就是让类以统一的方式来处理不同类型数据的一种手段。有时候,对于同一种功能却却有多种实现形式,到底采用何种实现形式,取决于调用者给定的参数。给定的参数不同,调用的方法也不同,比如,对于同一种动物,却用不同的训练形式,到底采用何种训练形式,取决于调用者。
写道
public void train(Dog dog){
} //传入狗的参数,执行狗的命令。
public void train(Monkey monkey){
}//传入猴子的参数,执行猴子的命令
需要注意的是:方法的名称,参数的顺序及其类型构成了方法的签名,在类中每个方法的签名都必须唯一,编译器就是根
据方法的签名来判断在何时具体调用哪个方法,而返回类型对与方法的签名却没有任何影响。
2.方法的重写
方法的重写在子类继承父类的时候才会出现。在子类继承父类的时候,我们可以直接的使用父类中的所有方法,但是有些时候父类中的方法不能完全适应我们的需要,我们可以对父类的方法进行适当的改变,这就叫方法的重写,也被称之为方法的覆盖。
需要我们注意到是,方法的重写与覆盖有一些不同点:
a.方法的重写要求方法签名必须相同,而方法的重载要求方法签名必须不同。
b.方法的重写放回类型必须一致,而方法的重载则没有要求。
c.方法的重写只局限与子类和父类之间,而方法的重载可以在一个类的所有方法之间进行。
分享到:
相关推荐
方法的重载是同一个类中多态性的一种表现。 方法重载须遵循如下两条规则 (1)方法名相同。 (2)参数列表不同。 注意:方法的返回值类型不能用来区分重载的方法。这是因为当调用一个方法时,返回值...
主要介绍了Java方法重载和重写原理区别解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
前段时间,刚学完C#,其中重载、重写傻傻分不清楚。如今通过查阅资料对这两者有了一个大概的理解,不足之处还请多多指教。 二、定义 重载:在同一定义域内(比如一个类里面)。方法名相同,参数个数、次序、类型...
概念 : 方法重载是指在一个类中定义多个同名的方法,但要求每个方法具有不同的参数的类型或参数的个数 public class OverloadTest01{ //定义一个方法,计算两个int 类型的和 public static int sumInt(int a,int b)...
重写:是指重写基类的方法,在基类中的方法必须有修饰符virtual,而在子类的方法中必须指明override。重载:用于在给定了参数列表和一组候选函数成员的情况下,选择一个最佳函数成员来实施调用。多态:c#的多态性...
主要介绍了C#中多态、重载、重写区别,采用实例较为通俗易懂的分析了多态、重载的重写的概念与用法,对于C#初学者有非常不错的借鉴价值,需要的朋友可以参考下
主要介绍了实例分析java中重载与重写的区别,需要的朋友可以参考下
重写Overriding是父类与子类之间多态性的一种表现,重载Overloading是一个类中多态性的一种表现。Overloaded的方法是可以改变返回值的类型。也就是说,重载的返回值类型可以相同也可以不同。 重载(Overloading) a、...
NULL 博文链接:https://ezbcw.iteye.com/blog/2142995