`
Javaloverlover
  • 浏览: 343404 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

override与overload:覆盖与重载

    博客分类:
  • java
阅读更多
方法的覆盖(override):
基本都是对接口的实现,或子类对抽象父类的方法的实现。
在方法覆盖时注意:
1、覆盖的方法的标志必须要和被覆盖的方法的标志完全匹配,才能达到覆盖的效果;
2、覆盖的方法的返回值必须和被覆盖的方法的返回一致;
3、覆盖的方法所抛出的异常必须和被覆盖方法的所抛出的异常一致,或者是其子类;
4、被覆盖的方法不能为private,否则在其子类中只是新定义了一个方法,并没有对其进行覆盖。

而重载(overload):
重载的方法名相同,参数不同,VM根据不同的参数进行调用相应的方法。
重载时要注意:
1、在使用重载时只能通过不同的参数样式。例如,不同的参数类型,不同的参数个数,不同的参数顺序;
2、不能通过访问权限、返回类型、抛出的异常进行重载;
3、方法的异常类型和数目不会对重载造成影响;
重载的例子:
void fun(int i) {}
void fun(float i) {}

覆盖的例子:
public class One {

    public void fun(int i){}
}

public class Two extends One {

    public void fun(int i) {}
}

分享到:
评论

相关推荐

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

    C#中方法的重写(override)和重载(overload)的区别

    overload and override.txt的区别

    overload and override.txt的区别重载和隐藏的区别

    overload and override

    本文详细地描述了overload 和override的区别

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

    java

    C++中overload,override,overwrite的区别详细解析

    Override(覆盖):是指派生类函数覆盖基类函数,特征是:(1)不同的范围(分别位于派生类与基类);(2)函数名字相同;(3)参数相同;(4)基类函数必须有virtual 关键字。 Overwrite(重写):是指派生类的函数屏蔽...

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

    重写(Override)概述 Java面向对象编程中的重写(override)指的是子类可以重写其父类中的非private方法,使得子类在调用该方法时会使用自己的实现而不是父类的实现。 重写(Override)讲解 定义一个名为 Animal 的父类...

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

    重载:同一个类中,函数名一样,返回值或者参数类型,个数不一样的叫做重载。 覆盖:同名函数,同返回值类型,同参数的叫做覆盖。指的是子类对父类中方法的覆盖。 PHP不支持方法和操作符重载。JAVA不支持操作符的...

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

    主要介绍了Java重写(Override)与重载(Overload)区别原理解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

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

    主要介绍了java 重载(overload)与重写(override)详解及实例的相关资料,并附实例代码,需要的朋友可以参考下

    C++中Overload,Override,Hide之间的区别

    简介•Overload: 重载,指函数同名,但是参数个数不同、或者参数类型不同的多个实现。(如果参数相同但是仅仅返回值不同不是重载,编译器会报错。) 编译器判断重载函数:•第一步,是确定该调用中所考虑的重载函数...

    PHP中overload与override的区别

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

    Java overload和override的区别分析

    方法的重写(Overriding)和重载(Overloading)是Java多态性的不同表现,想要了解更多请参考本

    .net_笔试题目

    覆盖(override)和重载(overload): 覆盖是指子类重新定义父类的虚函数的做法。 重载,是指允许存在多个同名函数,而这些函数的参数表不同(或许参数个数不同,或许参数类型不同,或许两者都不同)。 其实,重载的...

    PHP重载基础知识回顾

    先区分一下重载(overload)和重写(override):重载指多个名字相同,但参数不同的函数在同一作用域并存的现象;重写出现在继承中,指子类重定义父类功能的现象,也被称为覆盖。重载中说的参数不同有三种情况:参数个...

    php 三大特点:封装,继承,多态

    overload:重载,编辑多态 三.多态(运行多态) 概念:父类引用子类实例,由于子类里面对父类的方法进行重写,父类引用在调用该方法的时候表现出的不同状态 条件: 1必须发生在集成下 2必须重写父类方法 3父类引用...

    java面试题

    Overload是重载的意思,Override是覆盖的意思,也就是重写。 重载Overload表示同一个类中可以有多个名称相同的方法,但这些方法的参数列表各不相同(即参数个数或类型不同)。 重写Override表示子类中的方法可以与...

    C++中的重载、覆盖、隐藏介绍

    一、重载(overload) 指函数名相同,但是它的参数表列个数或顺序,类型不同。但是不能靠返回类型来判断。 (1)相同的范围(在同一个作用域中) ; (2)函数名字相同; (3)参数不同; (4)virtual 关键字...

    Java复习大纲面试题.doc

    方法重载(Overload):是指方法名字相同,参数的个数、类型、次序不同。 方法重写(Override/Overwrite):是指子类重写了从父类继承过来的方法。 区别:方法重载没有继承、属于一种静态联编技术。 方法重写有继承、属于...

Global site tag (gtag.js) - Google Analytics