`
凤凰山
  • 浏览: 148166 次
  • 性别: Icon_minigender_1
  • 来自: 重庆
社区版块
存档分类
最新评论

重载与重写 (overload && override)的简单区别

 
阅读更多

闲暇之余,大伙讨论招人的事,说到基础,萌到一片,来点面向对象的好家伙,大家都懂,就是不好记,贴下当年总结的:

 

 

==============================================================

 

 

                    相同:都是方法名相同。

 

-------------------------------------------------

 

                         两者之不同:

 

 

重载 (overload):指方法名相同,方法的参数个数或参数类型或参数顺序不同,使用时通过同一个方法名接收不同参数                               获得不同的功能

 

       1、无所不在。只要是一个类文件,就可以在里面重载方法。(重载的方法可以一个在父类,一个在子类)

 

       2、只跟方法参数有关(个数、类型、顺序),与其他无关(方法的返回类型、方法的访问修饰符(权限))。

 

               下面这些都会被认为是一个方法,无法通过编译

 

                public int a(){...}  与 public String a(){...}  

                public int a(){...}  与 private int a(){...}  

                public int a(int a,int b){...} 与 public int a(int b,int a){...}

 

 

重写(override,【覆盖】):指子类把从父类那继承到的方法内容进行修改,使得子类方法的功能与父类不同

 

1、只存在子类与父类中,没有继承,无从谈重写。

 

2、子类中的重写方法 必须在 “返回类型”、“参数类型”,“参数个数”与父类完全一样(即除看参数外还看返回类型),在        访问权限上,只能够扩大父类的方法访问权限,不能够缩小,如父类方法的访问权限为default,子类方法可以改为            public,  但不可以弄成private

 

3. 子类方法不能抛出比父类方法更多更大的异常,如父类方法是 IOException,子类方法不能够抛 Exception

     可抛FileNotFoundException,也可以什么都不抛

 

 

-----口决

 

重载重载,无处不在,只与参数关,其他都无关。

重写重写,继承才写,参数同,类型(返回类型与参数类型)同。权限可大,异常可小,其它来不倒。

 

 

 

 

 

 

 

0
0
分享到:
评论
1 楼 puzhijun 2011-10-23  
我想最根本的区别是重载是在编译时期决定调用哪个方法,但是重写是要等到运行时期才能知道调用的是哪个实现的方法

相关推荐

    重写(override)和重载(overload)的区别

    在C#编程语言中,重写(Override)和重载(Overload)是两种非常重要的概念,它们分别涉及对象多态性和方法的可选性。理解这两者的区别对于编写高效且易于维护的代码至关重要。 首先,让我们深入了解一下重写(Override)...

    Java重写(Override)&重载(Overload).pdf

    Java中的重写(Override)和重载(Overload)是面向对象编程中的两个核心概念,它们都是为了提高代码的灵活性和可复用性。 **重写(Override)** 是指子类能够重新定义父类中非私有(public或protected)的方法,以便在...

    Java 重写(Override)与重载(Overload).pdf

    根据提供的文件信息,我们可以深入探讨Java中的两个核心概念:重写(Override)与重载(Overload)。这两个概念在面向对象编程中非常重要,尤其是在Java这样的语言中。 ### Java中的重写(Override) #### 什么是重写? ...

    C#重写重载与多态

    在C#编程语言中,重写、重载和多态是面向对象编程的三大核心特性,它们对于构建灵活、可扩展的代码结构至关重要。 首先,我们来看“重写”。重写(Override)允许子类对从基类继承来的方法进行重新定义,以便提供...

    java 重载(overload)与重写(override)详解及实例

    Java中的重载(Overload)和重写(Override)是两个重要的面向对象概念,它们都是实现多态的方式,但有着本质的区别。 **重载(Overload)** 重载发生在同一类或具有继承关系的类中,它允许创建多个同名方法,但这些方法...

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

    "java 重载,重写以及继承,多态的区别" Java 中的重载、重写、继承和多态是四个不同的概念,它们之间存在一定的关系,但也存在明显的区别。 重载(Overload) 重载是指在同一个类中可以定义多个同名的方法,但这些...

    overload and override.txt的区别

    在面向对象编程中,`overload`(重载)与`override`(重写或覆盖)是两个重要的概念。它们虽然只有一字之差,但在实际应用中却有着本质的区别。 #### Overload(重载) 重载指的是在一个类中定义多个同名但参数...

    Override-Overload

    ### Override与Overload的区别 在面向对象编程中,方法重写(Override)和方法重载(Overload)是两个非常重要的概念。它们虽然都涉及到方法名称的重复使用,但是其本质含义、作用以及应用场景有着明显的区别。 ##...

    Java重写(Override)与重载(Overload)区别原理解析

    Java重写(Override)与重载(Overload)区别原理解析 Java 编程语言中有两个重要的概念:重写(Override)和重载(Overload)。这两个概念经常被混淆,但它们具有不同的作用和特点。本文将详细地介绍 Java 中的重写和...

    overload and override

    在面向对象编程中,尤其是在Java语言中,`Overload`(重载)和`Override`(重写)是两个非常重要的概念,它们帮助开发者更好地组织代码并提高代码的复用性和灵活性。 #### 二、Overload(重载) **定义**: - `...

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

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

    Java重写和重载概念及区别梳理

    在编程语言中,Java的重写(Override)和重载(Overload)是两个非常重要的概念,它们在类与对象的多态性中起到关键作用。理解并掌握这两个概念是成为一名合格的Java开发者的基础。 首先,我们来谈谈重写(Override...

    重写和重载的区别

    ### 重写与重载的区别 #### 一、概述 在面向对象编程中,方法的重写(Overriding)和重载(Overloading)是非常重要的概念。这两种机制可以帮助程序员更灵活地管理和组织代码,提高代码的复用性和可扩展性。 ####...

    [Java]重载,重写以及继承,多态的区

    在Java编程语言中,重载、重写、继承与多态是四个非常核心的概念,它们在面向对象编程中扮演着至关重要的角色。接下来,我们将详细探讨这些概念,并通过实例加以说明。 ### 重载(Overload) 重载是指在同一个类中...

    重写与重载的区别共2页.pdf.zip

    在编程领域,重写(Override)与重载(Overload)是两个非常关键的概念,尤其在面向对象编程中。它们都是实现多态性的方式,但具体机制和应用场景有所不同。下面将详细阐述这两个概念及其区别。 首先,重载...

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

    在C#编程中,面向对象的设计原则是核心概念之一,重载和重写是其中的两个关键特性,它们都是为了实现代码的灵活性和可扩展性。...希望以上内容能帮助你理解C#中重载与重写的区别,进一步提升你的编程技能。

    PHP和JAVA中的重载(overload)和覆盖(override) 介绍

    重载(overload)与覆盖(override)是面向对象编程中的两个重要概念,它们在不同的编程语言中表现出来的特性略有不同,尤其在PHP和JAVA这两种广泛使用的语言中表现得尤为明显。 首先,重载(overload)是指在同一个类中...

    浅谈C++重载、重写、重定义

    在C++编程语言中,重载、重写和重定义是三个重要的概念,它们涉及到函数的多态性和作用域。下面将详细讲解这三个概念,并通过示例代码进行说明。 1. 重载(Overload) 重载是指在同一个作用域内,可以定义多个同名...

    Java overload和override的区别分析

    Java中的方法重载(Overloading)和重写(Overriding)是两个重要的概念,它们都是实现多态性的方式,但有着本质的区别。 1. **方法重载(Overloading)**: 方法重载是指在同一个类中可以有多个同名方法,但这些方法的...

Global site tag (gtag.js) - Google Analytics