java什么是重写什么是重载_方法的重写和重载

java什么是重写什么是重载_方法的重写和重载重写和重载的区别一.重写1.重写概念重写是父类与子类中的多态性,子类可以继承父类中的方法并进行重写,但是要保证几点没有变1)方法返回值类型不变2)参数列表不变3)方法名不变满足了这三点之后,子类中父类的方法就被覆盖了,如果想要调用父类的方法,用super关键字2.重写规则重写也是有一定的规则的,否则会报错重写规则:1)参数列表必须完全与被重写的方法相同;2)返回类型必须一直与被重写的方法相同;3)访问修饰符的权限一定要大于等于父类方法的访问修饰符;4)重写方法一定不能抛出

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

重写和重载的区别

一.重写

1. 重写概念

  • 重写是父类与子类中的多态性,子类可以继承父类中的方法并进行重写,但是要保证几点没有变
    1)方法返回值类型不变
    2)参数列表不变
    3)方法名不变
  • 满足了这三点之后,子类中父类的方法就被覆盖了,如果想要调用父类的方法,用super关键字

2.重写规则

  • 重写也是有一定的规则的,否则会报错
  • 重写规则:
    1)参数列表必须完全与被重写的方法相同;
    2)返回类型必须一直与被重写的方法相同;
    3)访问修饰符的权限一定要大于等于父类方法的访问修饰符;
    4)重写方法一定不能抛出新的检查异常或者比被重写方法申明更加宽泛的检查型异常,譬如父类方法声明了一个检查异常 IOException,在重写这个方法时就不能抛出 Exception,只能抛出 IOException 的子类异常,可以抛出非检查异常。

二.重载

1.重载概念

  • 重载也是多态性的一种表现,即同一类中存在多个同名函数,但是参数列表的长度和参数类型不同
  • 调用方法时会根据传入的参数个数和参数类型来选择调用哪个方法
  • 注意: 不能以返回值类型作为函数重载的区分标志
    原因其实很简单:以下两个方法如何区分?这两个方法是无法通过编译的!会报错
 	double sqrt(double do){ 
   return...}
  	float sqrt(double do){ 
   return...}

2.重载规则

  • 参数个数可以不同
  • 参数类型可以不同
  • 对于返回值类型,其实重载没有要求,但是实际上在编写代码过程中,可以看作必须返回值类型相同,因为不同就不能称为重载了,就无法区分了!

三.重写和重载的区别和联系

  • 方法的重载和重写都是实现多态的方式,区别在于前者实现的是编译时的多态性,而后者实现的是运行时的多态性。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

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

(0)
上一篇 2025年10月11日 下午8:43
下一篇 2025年10月11日 下午9:22


相关推荐

  • OAuth2.0(及OIDC 1.0)选型建议及SSO、SLO方案

    OAuth2.0(及OIDC 1.0)选型建议及SSO、SLO方案本文主要介绍了 OAuth2 0 amp OIDC1 0 的不同授权流程的选型建议 以及使用 OIDC 实现 SSO SLO 整体方案

    2026年3月26日
    2
  • Pycharm安装matplotlib后出现问题,找到问题出现的原因,分享给各位

    Pycharm安装matplotlib后出现问题,找到问题出现的原因,分享给各位还记得之前我给大家分享的一篇文章吗 因为后面可能会使用到不同版本的 Python 因此我们一般会采用虚拟环境安装软件 安装步骤和说明参考链接 创建虚拟环境于是我就装了一些常见的软件 同时我的电脑里面还有一个 anaconda 这个也有很多库安装成功 但是今天我在 pycharm 中打开后 使用 matpolt 总是出错 一开始没有安装 于是我在 pycharm 的终端中安装了 pipinstallma 提示我安装成功 但是运行起来总是报错 告诉我缺少什么插件 网上别人告诉我是先卸载再安装 然而并没卵用 最后

    2026年3月27日
    2
  • python numba_如何用numba加速python?

    python numba_如何用numba加速python?我把写好的 markdown 导入进来 但是没想到知乎的排版如此感人 如果对知乎排版不满想要看高清清爽版 请移步微信公众号原文如何用 numba 加速 python 同时欢迎关注前言说道现在最流行的语言 就不得不提 python 可是 python 虽然容易上手 但速度却有点感人 如何用简单的方法让 python 加速到近乎可以媲美 C 的速度呢 今天来就来谈谈 numba 这个宝贝 对你没看错 不是 numpy 就是 num

    2025年6月11日
    5
  • lstm分类模型_模型有哪两种

    lstm分类模型_模型有哪两种介绍LSTM模型在语言模型,机器翻译等领域取得了非凡的成就,然后LSTM网络有几百万的参数以及需要数周在多GPU系统中进行训练。因此,一下介绍两种方法来缩减网络参数以及训练时间。两种方法分别为factorizedLSTM(FLSTM)以及groupLSTM(GLSTM)。FLSTMFLSTM网络主要是将大的LSTM矩阵转化为两个小的矩阵。LSTM模型简单介绍在LST…

    2025年10月18日
    5
  • 斩获VCR竞赛榜第一,腾讯微视推出BLENDer单模型,超越多模型最好效果

    斩获VCR竞赛榜第一,腾讯微视推出BLENDer单模型,超越多模型最好效果出品 CSDN ID CSDNnews 视觉常识推理 VCR VisualCommon 是人工智能领域的前沿热点问题 我国 新一代人工智能发展规划

    2026年3月26日
    2
  • spring管理quartz生命周期之`SchedulerFactoryBean`

    spring管理quartz生命周期之`SchedulerFactoryBean`spring管理quartz生命周期之SchedulerFactoryBeanspring通过SchedulerFactoryBean来管理quartz的生命周期。在spring容器启动时启动调度器,在spring容器关闭时停止调度器FactoryBeanthatcreatesandconfiguresaQuartz{@linkorg.quartz.Scheduler}…

    2022年5月23日
    40

发表回复

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

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