Java中重载与重写的特点和区别[通俗易懂]

Java中重载与重写的特点和区别[通俗易懂]一、重载(overload)重载:发生在Java的同一个类里面,通过定义相同的方法,定义不同的参数列表来区分开这些相同的方法,参数列表的不同可以是参数的类型、参数的个数和参数的顺序。当我们调用这些方法的时候通过传入参数的不同,在运行时Java虚拟机会自行调用不同的方法来进行处理。由于Java的修饰符都可以访问同一个类里面的方法,所以方法的重载与方法的修饰符无关;Java的返回值不能区别这些方法,因为返回值是在运行后才体现出来的,而两个参数列表相同仅仅是返回值相同的方法在Java编译时就会报错,虚拟机在运行

大家好,又见面了,我是你们的朋友全栈君。

一、重载(overload)

重载发生在Java的同一个类里面,通过定义相同的方法,定义不同的参数列表来区分开这些相同的方法,参数列表的不同可以是参数的类型、参数的个数和参数的顺序。当我们调用这些方法的时候通过传入参数的不同,在运行时Java虚拟机会自行调用不同的方法来进行处理。由于Java的修饰符都可以访问同一个类里面的方法,所以方法的重载与方法的修饰符无关;Java的返回值不能区别这些方法,因为返回值是在运行后才体现出来的,而两个参数列表相同仅仅是返回值相同的方法在Java编译时就会报错,虚拟机在运行时根本就不知道要调用的那种方法,所以方法的重载和返回值也无关。

重载举例:

在这里插入图片描述在这里插入图片描述

二、重写(Override)

我们这里所说的重写是指在Java中子类里面重写了父类的方法,当子类里面具有了和父类相同的方法的时候,子类的方法覆盖了父类的方法,此时就构成了方法的重写。需要注意的是,子类重写父类里面的方法时子类的方法名,返回值和参数列表都要和父类里面被重写的方法一样,子类的访问控制修饰符范围不能比父类的范围小,子类的方法抛出的异常不能比父类的方法抛出的异常更多。被final修饰的方法不能被重写,如果想要调用父类中同名的方法,可以使用super关键字来进行调用。

重写举例

在这里插入图片描述

三、重载和重写的区别

1、出现位置的不同:重载发生在一个类里面,重写发生在有继承关系的两个类里面。
2、访问控制修饰符的不同:重载对访问控制修饰符没有要求,重写时子类的访问控制修饰符不能比父类的范围小。
3、返回值不同:重载对返回值没有要求,重写时返回值必须相同。
4、参数列表不同:重载时参数列表必须不同,重写时参数列表必须相同。
5、抛出异常的不同:重载的方法可以抛出不同的异常,重写时子类抛出的异常类型一定不能比父类多。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/157108.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • windows的host文件的位置和作用建议收藏

    在Window系统中有个Hosts文件(没有后缀名),在Windows98系统下该文件在Windows目录,在Windows2000/XP系统中位于C:\Winnt\System32\Drivers\

    2021年12月20日
    72
  • 计算机弹歌曲乐谱大全绿色_小精灵钢琴谱简易版

    计算机弹歌曲乐谱大全绿色_小精灵钢琴谱简易版【小Z键盘钢琴】以下歌谱对应的键是跟默认键是不一样的,我已经打包了,只要把歌谱.ini改成系统.ini然后重启软件,这样就改好了,然后可以按照以下歌谱试弹一下!海阔天空就是此键盘钢琴的第一首钢琴曲(对不起,弹的时候是边看琴谱,边弹的,所以听起来太纠结了.)请到软件安装的目录查找!1.播放录音功能:点击播放按钮,会提示打开录音文件(XZ格式的文件)2.记录功能:点记录,会显示状态:”正在记录…

    2022年8月21日
    6
  • Android开发 更改返回button的图标

    Android开发 更改返回button的图标

    2022年1月21日
    32
  • MATLAB语音信号处理系统GUI

    MATLAB语音信号处理系统GUI基于MATLAB的语音信号处理【摘 要】Matlab语音信号处理是指利用matlab软件对音频信号进行读取,并对音频信号进行采样分析及离散傅里叶变换,以方便对其在频域上进行调制滤波等相关的操作。本次实验在提取音频信号后会对该信号使用在MATLAB软件中设计的滤波器进行滤波,并观察其效果,验证滤波器是否可行。本次使用了MATLAB软件,综合运用GUI界面设计、各种函数调用等来实现音频信号的傅里叶变…

    2022年5月25日
    91
  • openssl 签发证书_keytool生成证书

    openssl 签发证书_keytool生成证书第一步Openssl产生私钥RSA第二步生成公钥第三步创建证书签名请求CSR文件第四步生成证书其它第一步:Openssl产生私钥(RSA)//1、生成私钥$opensslgenrsa-aes128-outfd.key2048GeneratingRSAprivatekey,2048bitlongmodulus….+++……

    2022年9月18日
    0
  • 在线视频的5种下载办法

    在线视频的5种下载办法最简单的办法,就是利用各种网盘搜索,找到网盘的分享地址,转存到自己的网盘,然后下载。这样就避免了从在线视频网站直接下载,而且常常清晰度比较高。如果网盘找不到,第二种办法是利用一些在线视频的解析网站。

    2022年6月30日
    30

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号