首页 > 其他分享 >重载和重写的区别有哪些?

重载和重写的区别有哪些?

时间:2023-02-19 11:24:46浏览次数:28  
标签:函数 区别 修饰符 参数 重载 重写 哪些

重载和重写的区别有以下几点:

一、定义上的区别:

1、重载是指不同的函数使用相同的函数名,但是函数的参数个数或类型不同。调用的时候根据函数的参数来区别不同的函数。

2、覆盖(也叫重写)是指在派生类中重新对基类中的虚函数(注意是虚函数)重新实现。即函数名和参数都一样,只是函数的实现体不一样。

 

 

二、规则上的不同:

1、重载的规则:

①必须具有不同的参数列表。

②可以有不同的访问修饰符。

③可以抛出不同的异常。

2、重写方法的规则:

①参数列表必须完全与被重写的方法相同,否则不能称其为重写而是重载。

②返回的类型必须一直与被重写的方法的返回类型相同,否则不能称其为重写而是重载。

③访问修饰符的限制一定要大于被重写方法的访问修饰符。

④重写方法一定不能抛出新的检查异常或者比被重写方法申明更加宽泛的检查型异常。

三、类的关系上的区别:

重写是子类和父类之间的关系,是垂直关系;重载是同一个类中方法之间的关系,是水平关系。
————————————————

标签:函数,区别,修饰符,参数,重载,重写,哪些
From: https://www.cnblogs.com/yoyoma0355/p/17134388.html

相关文章

  • 重温Java重写与重载
    方法重写参数列表必须完全与被重写方法的相同;返回类型必须完全与被重写方法的返回类型相同;访问权限不能比父类中被重写的方法的访问权限更低。例......
  • 【每日随笔】手指训练 ( 产品需求探索、技术无关 | 手指训练作用 | 哪些人需要手指训
    文章目录​​一、手指训练作用​​​​二、哪些人需要手指训练​​​​三、手指操​​​​四、手指康复训练器材​​产品需求探索,研究下手指训练的市场,前景,是否可......
  • 默认参数、占位参数、函数重载
    (一)默认参数C++函数中的形参列表中的形参是可以有默认值的语法:返回值类型函数名(参数=默认值){}注意事项:如果我们自己传入数据,就用自己的数据,如果没有,就用默认值如果......
  • 有哪些值得学习的 Go 语言开源项目?
    可以看到,今年谷歌家的Go编程语言流行度有着惊人的上升趋势,其发展也是越来越好,因此本文整理了一些优秀的Go存储相关开源项目和库,一起分享,一起学习。存储服务器(StorageS......
  • 企业做漏洞扫描的意义有哪些?
    从网络兴起至今,利用漏洞的网络安全事件从未间断,而且近两年还呈现了日趋严重的态势。放眼全球,因为漏洞导致直接经济损失的不计其数,对于企业而言更是考验,漏洞的暴露和被利用不......
  • 使用小程序对商家有哪些优势
    微信小程序是现阶段无需下载安装即可低成本拥有的在线展示平台。适用于PC端和移动端。它不仅可以为商家提供在线销售渠道,还可以通过运营吸引客户。那么,商家使用微信小程序有......
  • Chrome 打开一个页面需要启动多少进程?分别有哪些进程?
    打开1个页面至少需要1个网络进程、1个浏览器进程、1个GPU进程以及1个渲染进程,共4个;最新的Chrome浏览器包括:1个浏览器(Browser)主进程、1个GPU进程、1个网......
  • 学会SQL在职场上到底能干哪些工作?
    来自Indeed的一项调查数据显示,企业对SQL技能的需求正在稳步增长,从2017年的35.7%上升到2022年的42.7%。SQL逐渐成为职场人必备的技能。但有人在学习SQL之前仍一头雾水,SQL与E......
  • 现实版“狂飙”上演,背后有哪些猫腻?
    最近热播的电视剧《狂飙》中有这样一个故事情节,刑满释放的唐小虎出狱之后,大哥高启强就大方的赠予唐小虎一家游戏厅。但其表面上是游戏厅,实际上背后却暗藏赌场。而在后来的......
  • Java语言常用哪些运算符?
    之前有个大家讨论过java的数据类型,总体来说类型和其他几种语言也相差无几,我为什么会这样说?我们应该都要知道Python可还有个复数类型。这里主要给大家讲解Java运算符的分类......