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

方法的重载与重写

阅读更多

1.方法的重载

 

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

写道

public void train(Dog dog){

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

public void train(Monkey monkey){

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

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

 

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

 

2.方法的重写

 

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

 

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

 

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

 

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

 

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

分享到:
评论

相关推荐

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

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

    方法重载和方法重写

    在编程语言中,方法重载(Overloading)和方法重写(Overriding)是两个非常重要的概念,它们都是实现多态性(Polymorphism)的关键机制。本文将深入探讨这两个概念,以及它们在实际编程中的应用。 ### 方法重载...

    C#重写重载与多态

    在C#编程语言中,重写、重载和多态是面向对象...重写允许子类定制继承自基类的方法,重载让我们可以创建多个同名但参数不同的方法,而多态则让我们可以通过父类引用调用子类的特定方法,实现更高效、更灵活的代码设计。

    重载与覆写/重写的区别

    重载与覆写/重写的区别 区别 重载 覆写 1 单词 OverLoading Override 2 概念 方法名称相同,参数的类型或个数不同 方法名称相同,参数的类型或个数相 同,返回值类型相同 3 范围 发生在一个类之中...

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

    JAVA中的方法重写与方法重载区别 JAVA 中的方法重写和方法重载是两个重要的概念,在面向对象程序设计语言中尤为重要。方法重写和方法重载都是多态性的体现,但它们之间有着本质的区别。 方法重写(Override)是指...

    Java重写重载线程

    ### Java中的方法重载与重写以及线程概念详解 #### 一、方法重载(Overloading) 在Java中,**方法重载**是指在同一个类中定义多个具有相同名称但参数列表不同的方法。这里提到的“参数列表不同”不仅包括参数的...

    Java方法的艺术:重载与重写的深度解析

    ### Java 方法的艺术:重载与重写的深度解析 在 Java 编程语言中,方法的重载(Overloading)和重写(Overriding)是面向对象编程的重要概念。这两种技术使得方法能够在不同的上下文中表现出不同的行为,从而增强了...

    java中的重载和重写的区别

    重写发生在父类和子类之间,当子类继承父类时,如果子类定义了一个与父类中已存在的方法同名、同参数列表的方法,那么子类中的这个方法就是对父类方法的重写。重写的主要目的是为了在子类中改变或扩展父类的功能。在...

    java中重载与重写

    在Java编程语言中,方法的重载(Overloading)与重写(Overriding)是两个非常重要的概念。它们虽然只有一字之差,但其实质却大相径庭。理解这两者的不同对于深入掌握Java语言至关重要。 ### 一、重载(Overloading...

    C++中重载与重写函数区别及虚函数

    ### C++中重载与重写函数的区别及虚函数详解 #### 一、虚函数概述 **1.1 虚函数定义与作用** 在C++中,虚函数是一种特殊的成员函数,它允许子类覆盖父类的行为。虚函数的核心在于实现多态性,即在运行时动态决定...

    java 重载,重写以及继承,多态的区别

    重写的方法必须与父类的方法同名,同返回值,同形参个数和类型。重写的目的是为了提供更加具体的实现。 例如,在上面的例子中,`Triangle` 类中的 `getSides()` 方法是对 `Shape` 类中的 `getSides()` 方法的重写。...

    java中重载与重写的区别.pdf

    Java 中重载与重写的区别 Java 中的重载(Overloading)和重写(Overriding)是两个不同的概念,它们都是 Java 语言中实现多态性的手段。 方法重载(Overloading) 方法重载是让类以统一的方式处理不同类型数据的...

    Java中重载和重写总结

    Java 中重载和重写总结 Java 中的重载(Overloading)和重写(Overriding)是两个非常...方法重载是让类以统一的方式处理不同类型数据的一种手段,而方法重写是父类与子类之间的多态性,对父类的函数进行重新定义。

    Java重写与重载(区别与用途)

    我根据我的理解来谈谈Java中重写方法与重载方法的区别。  重写  Java 中重写又叫覆盖,主要是指继承(extends)父类或者实现(implements)接口时将父类或者接口中已经存在的方法进行重新定义。重写的方法在父类...

    方法的重载和重写1

    在编程语言中,方法的重载(Overloading)和重写(Overriding)是两种不同的多态性表现,它们在类的继承体系中扮演着重要角色。本文将深入探讨这两种概念,以及它们在实际编程中的应用和规则。 首先,我们来看方法...

    Java的重载和重写

    重写的方法必须与被重写的方法有完全相同的名称、返回类型和参数列表。重写的方法在子类中可以更改其行为,但不能更改其签名,也不能降低其访问权限。例如,父类有一个打印消息的方法,子类可以重写这个方法,使其...

    重载,重写,覆盖,多态

    ### 重载、重写、覆盖与多态的深刻剖析 在面向对象编程语言中,如Java、C#等,重载(Overloading)、重写(Overriding)、覆盖(也称为重写)以及多态(Polymorphism)是几个非常重要的概念。它们之间既有关联又有...

    重载、重写、重构.md

    #### 重写与覆盖的应用示例: 考虑以下代码片段: ```csharp public class ParentClass { public virtual void VirtualMethod() { Console.WriteLine("ParentClass's VirtualMethod"); } } public class ...

    继承与多态,重载和重写

    重写(Overriding)是指子类可以提供与父类相同签名的方法,但提供不同的实现。重写只发生在继承关系中,子类方法必须声明为`@Override`(在Java中),以确保该方法确实覆盖了父类的相应方法。在运行时,如果对象是...

Global site tag (gtag.js) - Google Analytics