Overload&Override

overload—–重载

方法的重载就是在一个类中,可以定义多个有相同名字,但参数不同的方法。调用时,会根据不同的参数表选择对应的方法。

规    则:两同三不同
两    同:同一个类、同一方法名
三 不 同:参数类型、参数个数、参数排列顺序不同

注:参数名称不同、参数返回值不同无法构成方法的重载。如果只有方法参数名称不同或者方法返回值不同,在你调用方法时你输入的实参会在参数列表中对应多个方法,无法使编译器知道你到底调用的是哪个方法。

代码说明如下:

注释:java中允许任何方法重载,包括构造方法。因此,要完整的描述一个方法,需要指出方法名以及参数类型,这个叫做方法的签名(signature)。

Override-----重写

在子类中根据需要对从父类中继承来的方法进行修改,这叫做方法的重写,也称为方法的覆盖。重写方法只能存在于具有继承的关系中。

注意事项:

(1) 子类不能重写父类中被关键字final修饰的方法(包括private方法,因为private方法是隐式final的)。

(2)  重写方法必须与被重写方法具有相同的方法名称、参数列表和返回值类型。

(3) 重写方法不能使用比被重写方法更严格的访问权限(由于多态的存在)。重载可以。

(4) 重写方法不能抛出新的异常或者比被重写方法申明更加宽泛的检查性异常,可以抛出非检查型异常。如:父类的一个方法申明了一个检查异常IOException,在重写这个方法的时候,重写方法不能抛出Exception,只能抛出IOException或其子类异常,也可以抛出非检查型异常。重载可以抛出不同的异常。

方法的重载与方法的重写没关系!

Overload&Override的更多相关文章

  1. 大约 C++ 几个方面分析--overload, override, overwrite, rewrite

    overload, override, overwrite, rewrite 这几个单词常常出如今 C++ 书中,翻阅一些译版后发现并未对 override, overwrite, rewrite 严 ...

  2. overload, override和overwrite之间的区别

    Overload.Overwrite和Override的概念比较容易混淆,而且Overwrite和Override的中文翻译五花八门,让人很Confuse,顾保持英文原意: Overload  重载 ...

  3. c/c++:重载 覆盖 隐藏 overload override overwrite

    http://www.cnblogs.com/qlee/archive/2011/07/04/2097055.html 成员函数的重载.覆盖与隐藏成员函数的重载.覆盖(override)与隐藏很容易混 ...

  4. delphi override、overload、reintroduce的区别-0613.txt

    http://blog.csdn.net/honglixx/article/details/3624934 1.override overload reintroduce的中文叫法是什么? overr ...

  5. JAVA中继承时方法的重载(overload)与重写/覆写(override)

    JAVA继承时方法的重载(overload)与重写/覆写(override) 重载-Override 函数的方法参数个数或类型不一致,称为方法的重载. 从含义上说,只要求参数的个数或参数的类型不一致就 ...

  6. Java学习-Overload和Override的区别

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

  7. 测者的测试技术手册:分清Java的Override和Overload

    Java的Override和OverloadOverride重写:子类对父类的允许访问的方法实现过程重新编写,但是 不可改变返回值和入参.重弄写的规则: 参数列表必须完全与被重写方法的相同: 返回类型 ...

  8. override overload reintroduce的区别(delphi)

    1.override overload reintroduce的中文叫法是什么?   override:覆盖:overload:重载:Reintroduce:重定义 2.在子类中override或ov ...

  9. Object Pascal 语言基础

    Delphi 是以Object Pascal 语言为基础的可视化开发工具,所以要学好Delphi,首先要掌握的就是Object Pascal 语言.Object Pascal语言是Pascal之父在1 ...

随机推荐

  1. [Spark内核] 第40课:CacheManager彻底解密:CacheManager运行原理流程图和源码详解

    本课主题 CacheManager 运行原理图 CacheManager 源码解析 CacheManager 运行原理图 [下图是CacheManager的运行原理图] 首先 RDD 是通过 iter ...

  2. SuperSocket入门(四)-命令行协议

         前面已经了解了supersocket的一些基本的属性及相关的方法,下面就进入重点的学习内容,通信协议.在没有看官方的文档之前,对于协议的理解首先想到的是TCP和UDP协议.TCP 和 UDP ...

  3. 欢迎来到Hadoop

    What Is Apache Hadoop? Hadoop是一个可靠的.可扩展的.分布式计算的开源软件. Hadoop是一个分布式处理大数据的框架.它被设计成从一台到上千台不等的服务器,每个服务器都提 ...

  4. Mac appium apk覆盖性安装的问题

    /Applications/Appium.app/Contents/Resources/node_modules/appium/node_modules/appium-android-driver/n ...

  5. python获取指定目录下的所有指定后缀的文件名

    使用到的函数有: os.path.splitext():分离文件名与扩展名 os.path.splitext(file)[] 获得文件名 os.path.splitext(file)[] 获得文件扩展 ...

  6. socket之解决粘包方法

    low方法 import socket,subprocess ip_port=('127.0.0.1',8080) s=socket.socket(socket.AF_INET,socket.SOCK ...

  7. top命令参数解析

    PID 进程ID USER 进程所有者的用户名 PR 任务优先级 NI nice值.数值越小表示优先级越高,数值越大表示优先越低. VIRT 进程使用的虚拟内存总量,单位kb.VIRT=SWAP+RE ...

  8. 七牛php-sdk使用

    使用七牛云存储服务有一年多了,大部分功能基于其PHP-SDK来做开发,现对sdk的一些功能做一个总结. 一.资源上传 上传资源文件到七牛空间的不同实现方法 二.文档转换 介绍如何使用七牛以及七牛第三方 ...

  9. JAVA基础-File类

    一.File类概述 File类是文件和目录路径名的抽象表示形式.File类可以理解为一个文件路径或者文件夹路径的JAVA表现形式,而路径又可以分为绝对路径(是一个固定路径,从盘符开始),相对路径(相对 ...

  10. Link-Cut-Trees

    填坑,填坑,填坑…… 开篇镇人品……下文的比喻仅供娱乐…… 为了迎接JSZX校内互测,我临时填坑学了LCT…… 怎么说呢……我也是懵懵懂懂地看了N篇博客,对着标程敲上一发代码,然后才慢慢理解.这里推荐 ...