`

java 重载overloading 和重写overriding 的区别

阅读更多

                                                   Java 中重载与重写的区别

 

重载 overloading

(1) 方法重载是让类以统一的方式处理不同数据类型数据的一种手段。多个同名函数同时存在,具有不同的参数个数\类型。

(2) 调用方法时通过传递他们的不同参数个数和参数类型来决定具体使用哪个方法,这就是多态性。

(3) 返回值类型可以相同也可以不同。无法以返回值类型作为重载函数的区分标准。

(4) 重载 overloading 是一个类中多态性的一种表现。

 

重写(覆盖) overriding

(1)、在子类中定义某方法与其父类有相同的名称和参数,我们说该方法被重写(overriding)。在Java中,子类可继承父类中的方法,而不需要重新编写相同的方法。但有时子类想对父类的方法做修改这时采用方法重写。

(2)、若子类中的方法与父类中的某一方法具有相同的方法名、返回类型和参数表,则新方法将覆盖原有的方法。

如需父类中原有的方法,可使用super关键字,该关键字引用了当前类的父类。

(3)、子类函数的访问修饰权限不能少于父类的。

 

重写方法的规则

1、参数列表必须完全与被重写的方法相同,否则不能称其为重写而是重载。

2、返回的类型必须一直与被重写的方法的返回类型相同,否则不能称其为重写而是重载。

3、访问修饰符的限制一定要大于被重写方法的访问修饰符(public>protected>default>private)

4、重写方法一定不能抛出新的检查异常或者比被重写方法申明更加宽泛的检查型异常。例如:

父类的一个方法申明了一个检查异常IOException,在重写这个方法是就不能抛出Exception,只能抛出IOException的子类异常,可以抛出非检查异常。

 

而重载的规则:

1、必须具有不同的参数列表;

2、可以有不责骂的返回类型,只要参数列表不同就可以了;

3、可以有不同的访问修饰符;

4、可以抛出不同的异常;

 

重写与重载的区别在于:

重写多态性起作用,对调用被重载过的方法可以大大减少代码的输入量,同一个方法名只要往里面传递不同的参数就可以拥有不同的功能或返回值。

用好重写和重载可以设计一个结构清晰而简洁的类,可以说重写和重载在编写代码过程中的作用非同一般.

 

分享到:
评论

相关推荐

    java中的重载和重写的区别

    Java中的重载(Overloading)和重写(Overriding)是面向对象编程中两个重要的概念,它们体现了Java的多态性。多态性是面向对象编程的三大特性之一,另外两个是封装和继承。 首先,让我们详细解释一下方法的重载。重载...

    Java中重载和重写总结

    Java 中的重载(Overloading)和重写(Overriding)是两个非常重要的概念,它们都是多态性的体现形式。 一、Java 中的重载(Overloading) Java 中的重载是指在同一个类中可以创建多个方法,它们具有相同的名字,...

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

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

    Java的重载和重写

    Java编程语言中的重载(Overloading)和重写(Overriding)是两个关键的概念,它们都是多态性的重要体现,但各自有着不同的含义和规则。 首先,我们来详细了解一下方法的重载。重载,简单来说,就是在一个类中定义多个...

    Java重载和重写的区别--源码实例

    Java中的重载(Overloading)和重写(Overriding)是面向对象编程中的两种关键特性,它们涉及到方法的多态性。理解这两者的区别对于编写高效、可维护的代码至关重要。 **重载(Overloading)**是指在一个类中,可以有多个...

    java中重载与重写

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

    Java方法重载和方法重写的区别.docx

    Java编程语言中,方法的两种重要特性是方法重载(Overloading)和方法重写(Overriding)。这两种机制都是为了实现多态性,但它们在实际应用中有着明显的区别。 **方法重载(Overloading)**: 方法重载发生在同一...

    java中重载与重写的区别.doc.docx

    Java 中的重载(Overloading)和重写(Overriding)是两个重要的概念,它们都是实现多态性的重要方式,但两者之间存在着显著的区别。 **重载(Overloading)** 重载是同一个类中不同方法的实现,这些方法拥有相同...

    java中重载与重写的区别

    Java 中的重载(Overloading)与重写(Overriding)是两个重要的概念,它们都是实现多态性的重要方式,但两者之间存在着显著的区别。 **重载(Overloading)** 重载是指在同一个类中可以有多个同名方法,但这些...

    重载与覆写/重写的区别

     重载Overloading是一个类中多态性的一种表现。 (2) Java的方法重载,就是在类中可以创建多个方法,它们具有相同的名字,但具有不同的参数和不同的定义。  调用方法时通过传递给它们的不同参数个数和参数...

    方法重载和方法重写

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

    JAVA重写和重载.pdf

    JAVA重写和重载(Overriding和Overloading) JAVA中有两种不同的多态性表现形式:重写(Overriding)和重载(Overloading)。下面将对这两种形式进行详细的解释。 重载(Overloading) 重载是指在一个类中可以...

    java 函数的重载和重写实例代码

    在Java中,函数的重载(Overloading)和重写(Overriding)是多态性的重要表现形式,它们都是实现面向对象设计原则的关键手段。 1. 重载(Overloading): 重载发生在同一个类中,它允许我们创建多个同名的方法,...

    java面向对象重载和重写

    面向对象是Java编程的核心概念,其中“重载”(Overloading)和“重写”(Overriding)是两个至关重要的概念。理解并熟练运用这两个概念,对于提升Java编程能力至关重要。 首先,我们来探讨“重载”。在Java中,...

    Overloading&Overriding

    重载Overloading是一个类中多态性的一种表现。在Java中,方法重载就是在类中创建多个方法,它们具有相同的名字,但具有不同的参数和不同的定义。调用方法时通过传递给它们的不同参数个数和参数类型来决定具体使用...

    java 重载,继承,重写和多态的区别. doc

    Java编程语言中的重载、继承、重写和多态是面向对象编程的四个核心概念,它们各自具有独特的功能和用途。 1. **重载(Overloading)**: 重载发生在同一个类内部,指的是可以有多个同名方法,但这些方法的参数列表...

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

    【Java中的重载与重写】是面向对象编程中的两个重要概念,它们体现了Java的多态性,但有着明显的区别。 一、重载(Overloading) 1. 重载发生在同一类内部,允许存在多个同名方法,但这些方法的参数列表必须不同,即...

    Java重写重载线程

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

    Java中重载与重写,一篇文章快速了解

    在Java编程语言中,"重载"(Overloading)和"重写"(Overriding)是两个非常重要的概念,它们都是面向对象特性的重要体现。理解并掌握这两个概念对于编写高效、可维护的代码至关重要。 首先,我们来谈谈“重载”...

Global site tag (gtag.js) - Google Analytics