当前位置: 首页 > news >正文

java中override和overload的区别

override(重写)和overload(重载) 是面向对象编程中两个重要的概念,它们的主要区别:

概念定义
override子类重新实现父类中已有的方法(方法签名完全相同)
overload在同一个类中创建多个同名方法,但这些方法的参数列表不同(参数类型、数量或顺序不同)

关键区别:

比较纬度override(重写)overload(重载)
作用范围发生在继承关系的父子类之间发生在同一个类内部
方法签名必须完全相同(方法名+参数列表)仅方法名相同,参数列表不同
返回类型必须相同或是父类方法返回类型的子类型可以不同
访问修饰符不能比父类方法更严苛(可以更宽松)(public>protected>default>private)可以任意修改
异常抛出不能抛出比父类方法更多活更宽泛的检查异常可以抛出不同的异常
静态性不能重写static方法(只能隐藏)可以重载static方法
注解要求java使用@Override注解,kotlin使用override关键字不需要特殊注解
http://www.lryc.cn/news/613367.html

相关文章:

  • Java 大视界 -- Java 大数据在智能安防门禁系统中的人员行为分析与异常事件预警(385)
  • AR技术:制造业质量控制的“智能革新”
  • Redis最新安装教程(WindowsLinux)
  • Kubernetes(k8s)之Service服务
  • SpringBoot的优缺点
  • 【更新被拒绝,因为推送的一个分支的最新提交落后于其对应的远程分支。】
  • VLMEvalKit使用记录
  • 公开致歉声明
  • P1690 贪婪的 Copy
  • idea工具maven下载报错:PKIX path building failed,配置忽略SSL检查
  • 量子计算入门 | 量子力学的发展
  • 如何将普通HTTP API接口改造为MCP服务器
  • list类
  • SQL注入攻击基础
  • Cookie和Session是什么?有什么区别?
  • 如何开发一个运行在windows系统服务器上的服务
  • 跨学科视域下的深层语义分析与人类底层逻辑一致性探索
  • 性能优化——GPU的影响
  • 基于Matlab图像处理的黄豆自动计数系统设计与实现
  • sklearn study notes[3]
  • Nuxt.js 国际化配置完整教程(含版本兼容与问题解决)
  • 驱动-设备树插件注册子系统
  • 【Bluedroid】蓝牙音频接收端活动设备切换机制深度解析(sink_set_active_device)
  • Maven私服搭建--Nexus-3.82.0 Linux环境
  • mysql基础-聚合函数
  • 二叉树算法之【中序遍历】
  • 打靶日记-PHPinclude-labs(一)
  • CS231n2017 Lecture14 强化学习笔记
  • 【MySQL基础篇】:MySQL事务并发控制原理-MVCC机制解析
  • 安卓开发:网络状态监听封装的奥秘