前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >java什么是重写什么是重载_方法的重写和重载

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

作者头像
全栈程序员站长
发布2022-09-30 09:45:39
9800
发布2022-09-30 09:45:39
举报
文章被收录于专栏:全栈程序员必看

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

重写和重载的区别

一.重写

1. 重写概念

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

2.重写规则

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

二.重载

1.重载概念

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

2.重载规则

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

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

  • 方法的重载和重写都是实现多态的方式,区别在于前者实现的是编译时的多态性,而后者实现的是运行时的多态性。

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

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022年9月9日 下,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 重写和重载的区别
    • 一.重写
      • 1. 重写概念
      • 2.重写规则
    • 二.重载
      • 1.重载概念
      • 2.重载规则
    • 三.重写和重载的区别和联系
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档