`
igogogo9
  • 浏览: 250802 次
  • 性别: Icon_minigender_1
  • 来自: 海口市
社区版块
存档分类
最新评论

重载(Overload )和覆写(override)的理解及区别

阅读更多
重载Overload特点(两必须一可以)
public bool withdraw(double amt, string name)
public double withdraw(double amt)
1、方法名必须相同
2、参数列表必须不相同
3、返回值类型可以不相同
注意:override存在于继继承的关系类中。
覆写Override特点(三相同):
public override bool withdraw(...)
1、方法名相同
2、参数列表相同
3、返回值类型相同
注意:存在于同一类中,但是只有虚方法和抽象方法才能被覆写.

法的重写Overriding和重载Overloading是Java多态性的不同表现。重写Overriding是父类与子类之间多态性的一种表现,重载Overloading是一个类中多态性的一种表现。如果在子类中定义某方法与其父类有相同的名称和参数,我们说该方法被重写 (Overriding)。子类的对象使用这个方法时,将调用子类中的定义,对它而言,父类中的定义如同被“屏蔽”了。如果在一个类中定义了多个同名的方法,它们或有不同的参数个数或有不同的参数类型,则称为方法的重载(Overloading)。Overloaded的方法是可以改变返回值的类型。


override(重写)

1、方法名、参数、返回值相同。
2、子类方法不能缩小父类方法的访问权限。
3、子类方法不能抛出比父类方法更多的异常(但子类方法可以不抛出异常)。
4、存在于父类和子类之间。
5、方法被定义为final不能被重写。

overload(重载)

1、参数类型、个数、顺序至少有一个不相同。 
2、不能重载只有返回值不同的方法名。
3、存在于父类和子类、同类中。
分享到:
评论

相关推荐

    .net程序员面试题

    1. **重载(Overload)与覆写(Override)的区别**: - **重载(Overload)** 是在同一作用域内,允许有多个同名函数,但这些函数的参数列表必须不同(参数数量、类型或顺序)。重载不涉及继承,主要是为了提高代码的...

    .NET面试真题及答案

    重载(Overload)和覆写(Override)的区别 - **重载(Overload)**: 在.NET框架中,重载允许同一个类中有多个同名的方法,但这些方法的参数列表必须有所不同(参数的数量、类型或顺序不同),返回类型可以相同也可以...

    VC++程序员面经典试题

    1. 重载(Overload)与覆写(Override)的区别 重载是C++中的一个重要特性,它允许在同一个作用域内定义多个同名函数,但这些函数的参数列表必须不同,即参数类型、数量或顺序至少有一个不相同。重载的主要目的是增加...

    java学习总结

    覆写(override)是子类对父类方法的重新定义,要求方法签名完全一致;重载(overload)发生在同一类中,通过不同的参数列表来区分同名方法。如果仅返回类型不同,但其他都相同,则会导致编译错误。 Java的输入输出...

    130道ASP.NET面试题

    5. `override` 和重载的区别: - 重载(Overload)发生在同一类中,通过方法名相同但参数列表不同来区分。 - `override`(重写)发生在继承关系中,用于覆盖基类中的虚方法。 6. 在B/S结构中传递变量值的替代方法...

    C#使用中常见问题整理

    override和overload的区别? `override`用于在派生类中覆写基类的虚方法,以提供新的实现。`overload`则是方法重载,允许在同一类中拥有多个同名方法,但参数列表不同。 ### 8. 什么是索引指示器? 索引指示器...

    C#面试题,C#面试经典题

    9. 重载和覆写有什么区别? 答案:重载提供了对一个方法签名的不同参数调用的实现。覆写提供了子类中改变父类方法行为的实现。 10. 在方法定义中,virtual有什么含意? 答案:被virtual修饰的方法可以被子类覆写...

    Java面试宝典新人版

    多态是通过方法重载(Overload)和方法重写(Override)实现的,以及接口和抽象类的使用。 24. **abstractclass与interface的区别**: 抽象类可以包含字段、构造器、方法(包括抽象方法和非抽象方法);接口只能...

    c#经典题目

    重载与覆写的区别 重载(Overload)是指在同一类型中,使用相同的方法名但具有不同的参数列表(参数类型、数量或顺序不同),以实现多态性。而覆写(Override)是在派生类中重新定义基类的虚方法,以改变或扩展其...

    Java程序员面试题

    Overload、Override 和 Overloaded 的概念 - **Overload**:表示在一个类中可以有多个同名的方法,只要它们的参数列表不同即可。这种方法重载使得一个类可以根据不同的参数提供不同的行为。 - **Override**:表示...

    笔试题(JavaSE).doc

    5. **Overload和Override**:Overload是方法重载,发生在同一个类中,方法名相同但参数列表不同;Override是方法覆写,发生在子类中,方法名、返回类型和参数列表都需与父类一致。 6. **abstract class和interface**...

    130道ASP.NET面试题(偏C#的ASP.NET面试题)

    6. **override与重载**:重载(Overload)指的是在同一作用域内,同名函数的不同实现,通过参数列表区分。override是派生类对基类虚方法的重新定义,保持签名一致,用于多态性。 7. **遍历控件**:在ASP.NET中,...

    Java面试基础

    在Java编程语言中,抽象类和接口是两种主要的抽象数据类型。...以上内容涵盖了抽象类和接口在Java中的定义、使用、区别以及方法重载和覆盖的概念,为Java面试中可能出现的相关问题提供了详细的解释。

    2022年net基础面试题.docx

    4. `override` 和重载的区别: - 重载(Overload):在同一类或子类中,通过方法名相同但参数列表不同来实现。 - `override`(重写):在子类中,用于覆盖父类中已有的虚方法,保持方法签名不变,改变其实现。 5....

    java 中继承和多态详细介绍

    然后是方法的重载(Overload),即在同一个类中定义多个同名但参数列表不同的方法。重载与覆写不同,它不涉及继承关系,只是提供多种调用同一方法的方式。例如: ```java public class MyClass { public void ...

    Java程序员面试40题

    #### 十一、Overload与Override的区分及Overloaded方法的返回值变化 - **Overload**:方法的重载,允许在同一个类中定义多个同名方法,只要它们的参数列表不同(类型、数量或顺序)。 - **Override**:方法的重写,...

    有关C#的25个问题

    覆盖与重载(override vs overload) - **覆盖(override)**:在派生类中重写基类中的虚方法,使派生类能够提供自己的实现。 ```csharp public override void Method() { } ``` - **重载(overload)**:在同一类...

    Java面试宝典2011版

    Java面试宝典2011版中涵盖了众多Java编程的基础及进阶知识点,这些知识点对于理解和掌握Java语言至关重要。以下是一些主要的要点解析: 1. **Java源文件与类**:一个.java源文件可以包含多个类,但只能有一个公共类...

    .net 面试题 大全

    1. **Override与Overload的区别**: - `Override`(覆写)是在继承关系中,子类重写父类的虚方法,保持方法名和参数列表不变,但可能改变原有方法的行为。 - `Overload`(重载)在同一类中,允许存在多个同名方法...

Global site tag (gtag.js) - Google Analytics