`

override(重写)和overload(重载)的异同

阅读更多

方法的重写(Overriding)和重载(Overloading)是Java多态性的不同表现。
重写(Overriding)是父类与子类之间多态性的一种表现,
而重载(Overloading)是一个类中多态性的一种表现。

如果在子类中定义某方法与其父类有相同的名称和参数,我们说该方法被重写 (Overriding)。子类的对象使用这个方法时,将调用子类中的定义,对它而言,父类中的定义如同被"屏蔽"了。

如果在一个类中定义了多个同名的方法,它们或有不同的参数个数或有不同的参数类型或有不同的参数次序,则称为方法的重载(Overloading)。不能通过访问权限、返回类型、抛出的异常进行重载.

override(重写)和overload(重载)的异同 :

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

overload(重载)
1、参数类型、个数、顺序至少有一个不相同。
2、可以改变返回值的类型,但是不能重载只有返回值不同的方法名。
3、是一个类中多态性的一种表现。




分享到:
评论

相关推荐

    JavaSE.docx

    * 方法的重载和重写 面向对象基础 * 类和对象的概念 * 属性和行为的概念 * 类的继承和多态性 面向对象三大特性 * 封装(Encapsulation) * 继承(Inheritance) * 多态性(Polymorphism) 异常 * 异常的概念和...

    java简答题

    方法重写(Override)和方法重载(Overload)是两个重要的概念。重写发生在子类中,子类可以提供与父类同名、同参数列表但实现不同的方法,这是多态性的体现。而重载则是在同一类中,允许存在多个同名方法,但这些...

    葵花宝典之javajava笔试

    包括面向对象的特性、数据类型的差异、循环控制关键字的区别以及集合框架中的ArrayList、Vector和LinkedList的性能对比,还有HashMap与Hashtable之间的关键异同以及重载(Overloading)与重写(Override)的原理。...

    C# / .NET经典题目集锦(带标准答案)--面试必备

    4. override和重载的区别: Override是覆盖,在继承关系中,父类中的虚方法,在子类中需要重写时;Overload是重载,同一个类中,函数名相同,参数列表不同,实现不同功能。 5. 虚方法和接口: 虚方法是父类中的...

    java笔试题

    20、重载(Overload)和重写(Override)的区别。重载的方法能否根据返回类型进行区分? 21、描述一下JVM加载class文件的原理机制? 22、char 型变量中能不能存贮一个中文汉字,为什么? 23、抽象类(abstract class...

    java面试题.pdf

    2. 重载(Overload)和重写(Override)的区别: 重载(Overload)是指在同一个类中定义多个同名方法,但是这些方法的参数列表不同。根据参数的类型、个数或者顺序进行区分,可以实现编译时多态。重写(Override)是...

    Java面向对象高级编程笔试考试题.doc

    4. Overload(重载)和 Override(重写)的区别。 Overload 和 Override 都是多态的实现方式,但是它们有着不同的用途。 * Overload 是指多个方法可以具有相同的方法名,但是参数列表不同。 * Override 是指子类...

    面试 java 必须会的基础小程序 背过!

    - 多态的体现,重写(Override)和重载(Overload)的区别。 8. **接口与抽象类**: - 接口的定义和实现,接口间的多重继承。 - 抽象类的定义,抽象方法的理解。 9. **异常处理**: - try-catch-finally语句块...

    2014年最新JAVA面试题汇总经典

    - Java中类的继承与方法重载(Overload)和重写(Override)的区别,以及final类的特点。 3. Java类继承和内部类: - 继承中类的执行顺序问题。 - 内部类的实现方式,包括静态内部类与非静态内部类的区别。 4. Java...

    java面试——北京-京东-Java中级.zip

    - 多态:熟悉抽象类和接口,以及重写(Override)和重载(Overload)的概念。 - 构造器:了解静态与非静态构造器的区别,理解构造器链。 - 接口:理解接口的作用,以及默认方法和静态方法的引入。 3. **集合框架...

    java技术支持面试题

    Overload 是指方法的重载,Override 是指方法的重写。 12. error 和 exception 有什么区别? Error 是指程序的严重错误,而 Exception 是指程序的逻辑错误。 13. 同步和异步有何异同,在什么情况下分别使用他们?...

    Android面试常见问题

    4. 重载(Overload)和重写/覆盖(Override): - 重载:在同一类中,方法名相同但参数列表不同的多个方法。 - 重写:子类对父类已有的虚方法进行重新定义,保持方法名、返回类型及参数列表不变。 5. 类成员函数...

    125条常见的java面试笔试题汇总

    - **多态**:包括方法的重写(Override)和重载(Overload)。 - **抽象类与接口**:对比两者的异同,理解抽象方法和默认方法。 3. **数据结构与算法** - **数组与链表**:掌握数组和链表的特性,以及它们之间...

    永佳ASP。network面试提纲

    - 重载(Overload)是指在同一类中,通过不同的参数列表创建同名方法。 - 重写(Override)是子类对基类方法的覆盖,要求方法签名相同,且子类方法使用`override`关键字标记。 4. 在B/S系统中传递变量值的其他...

    C# .NET 基本概念.doc

    - override:重写,子类中的方法重写父类中的虚方法,保持方法签名不变,改变其实现。 - overload:重载,同名方法的不同版本,通过不同的参数列表区分。 4. C#中的索引器 - 索引器允许对象像数组一样被索引,...

    125条常见的java面试笔试题大汇总(1)

    - **多态**:熟悉抽象类、接口的概念,以及重写(override)和重载(overload)的区别。 3. **异常处理**: - **异常类层次**:理解Checked和Unchecked异常的区别,知道如何抛出和捕获异常。 - **finally块**:...

    2011各类型面试题汇

    - 多态性:重写(Override)和重载(Overload)的区别。 2. **数据类型与变量:** - 基本数据类型与引用数据类型。 - 静态变量与实例变量。 - 变量的作用域:类作用域、方法作用域、块作用域。 3. **集合框架...

    Java常见的面试题,提前准备,提前熟悉,面试亮剑

    - **多态**:理解多态的含义,包括方法的重写(Override)和重载(Overload)。 - **抽象类与接口**:比较抽象类和接口的异同,知道如何选择使用。 3. **集合框架** - **List、Set、Queue**:了解ArrayList、...

    java面试题的几个区别

    重载(Overloading)和重写(Overriding)是Java中实现多态性的两种方式,但它们分别适用于不同的上下文: - **重载(Overloading)**指的是在同一个类中,方法的名称相同但参数列表不同(可以是参数的数量、类型或...

Global site tag (gtag.js) - Google Analytics