重载与重写的区别

简介: 重载是方法名相同但参数列表不同,由编译器在编译时确定;重写是父子类中方法名和参数列表均相同,由运行时解释器根据对象实际类型决定调用哪个方法,可用@Override检查。
  • 重载是对象的方法之间,它们方法名相同,但方法的参数列表不同
  • 重写是父子类(包括接口与实现类)中两个同名方法,它们方法名相同,且方法的参数列表相同
  • 重载在编译阶段,由编译器根据传递给方法的参数来区分方法,例如
  • 而重写是在运行阶段,由虚拟机解释器去获取引用对象的实际类型,根据类型才能确定该调用哪个方法,例如
  • 有没有发生重写,可以使用 @Override 来检查
MyObject obj = ...
obj.test(123);   // 应该是调用 test(int x) 这个方法
obj.test("abc"); // 应该是调用 test(String x) 这个方法
Super obj = ...
obj.test();     // 到底是调用父类,还是子类的 test 方法,必须检查引用对象的实际类型才能确定

P.S.

  • 括号内的说明是为了严谨,自己知道就行,回答时不必说出,这样比较简洁
  • 个人觉得,在回答方法重载时,不必去细说什么参数的类型、个数、顺序,就说参数列表不同就完了
  • 个人觉得,重点在于点出:重载是编译时由编译器来区分方法,而重写是运行时由解释器来区分方法
  • 语法细节,问了再说,不问不必说
  • 重写时,子类方法的访问修饰符要 >= 父类方法的访问修饰符
  • 重写时,子类方法抛出的检查异常类型要 <= 父类方法抛出的检查异常类型,或子类不抛异常
  • 重写时,父子类的方法的返回值类型要一样,或子类方法返回值是父类方法返回值的子类
相关文章
|
Unix Linux
gzip/gunzip命令
`gzip` 和 `gunzip` 是 Linux/Unix 的压缩工具,用于压缩(`.gz`)和解压缩文件。`gzip` 使用 LZ77 和 Huffman 编码,支持递归压缩目录、设置压缩级别及保留源文件等选项。例如:`gzip file` 压缩文件,`gzip -d` 或 `gunzip` 解压缩。用户常通过调整选项完成所需操作,如`gzip -k`压缩后保留原文件。
668 4
|
存储 自然语言处理 物联网
StableDiffusion-02 LoRA上手使用实测 尝试生成图片 使用多个LoRA 调整LoRA效果 10分钟上手 多图
StableDiffusion-02 LoRA上手使用实测 尝试生成图片 使用多个LoRA 调整LoRA效果 10分钟上手 多图
950 1
|
7月前
|
人工智能 机器人 Linux
OpenClaw 阿里云轻量+本地部署:企业微信集成、大模型千问/Coding Plan对接与常见问题解答
OpenClaw(原Clawdbot)作为本地优先、模块化的AI代理平台,2026年版本深度适配企业微信生态,可实现企业微信内自然语言交互、任务自动化、信息查询与办公协作全场景覆盖。本文提供2026年阿里云轻量服务器、本地MacOS/Linux/Windows11完整部署流程,详解企业微信接入(自建应用+机器人双模式)、阿里云千问大模型API与免费Coding Plan API配置方法,附可直接复制的代码命令与高频问题解决方案,零基础用户也能快速搭建稳定、安全、可协作的企业级AI助手系统。
858 5
|
7月前
|
SQL JSON 测试技术
从数据库到结构化用例:一套可落地的测试智能体架构
本文提出面向企业测试的三层智能体架构:SQL Agent精准读取数据库需求,Case Agent结构化生成用例,Validator强制校验输出。聚焦数据精确性、结果可控性与系统无缝集成,规避纯RAG不可持续问题,兼顾生产安全与工程落地。
|
敏捷开发 人工智能 Cloud Native
2025年强大的多视图项目管理工具推荐【实用+全面解析】
多视图项目管理工具是现代团队协作的重要利器,支持甘特图、看板、日历等多种视图模式,满足不同角色需求。此类工具显著提升团队灵活性、透明度和协作效率,尤其适合远程办公和跨部门协作场景。国内外主流工具包括板栗看板、飞书多维表、明道云等,各具特色。使用时需注意避免视图切换混乱,建议制定统一视图规范。未来这类工具将向智能推荐视图方向发展,成为团队提升效率的关键武器。
545 3
|
存储 分布式计算 安全
阿里云服务器ECS实例选型参考:场景适配、应用推荐
选择阿里云服务器ECS实例之前,需要结合性能、价格、工作负载等因素,做出性价比与稳定性最优的决策。对于很多新手用户来说,在初次购买阿里云服务器的时候,面对众多实例规格往往不知道如何选择,因为云服务器实例规格不同,价格也不一样,性能表现更是千差万别。因此,在购买阿里云服务器ECS实例之前,需要结合性能、价格、工作负载等因素,做出性价比与稳定性最优的决策。本文将通过一些常见的选型场景推荐,为大家详细介绍阿里云服务器实例选型的最佳实践,便于大家在选择云服务器实例规格时做个参考。
|
9月前
|
存储 弹性计算 人工智能
阿里云服务器ECS计算型c9i实例ecs.c9i.large规格族性能参数及介绍指南
阿里云ecs.c9i.large基于Intel至强Granite Rapids处理器,2vCPU/4GiB内存,适用于中小规模数据库、Web服务及轻量AI场景,高性价比,支持弹性扩展与安全加固,助力高效上云。
337 2
|
10月前
|
安全
HTTP协议中请求方式GET 与 POST 什么区别 ?
简介:项目开发中常见GET与POST请求方式,主要区别在于参数传递位置、大小限制及安全性。GET用于获取数据,参数在URL中;POST用于提交数据,参数在请求体中,更安全。现代项目多采用RESTful风格,通过URL定位资源,不同请求方式(GET/POST/PUT/DELETE)对应不同操作,提升接口规范性与可读性。(238字)
|
关系型数据库 MySQL 数据库连接
数据库连接工具连接mysql提示:“Host ‘172.23.0.1‘ is not allowed to connect to this MySQL server“
docker-compose部署mysql8服务后,连接时提示不允许连接问题解决
653 69

热门文章

最新文章