方法重载与方法重写(@Overload @Override)

简介: java方法重载和方法重写(方法覆盖)的区别:方法重载: Overload方法重写: Override批判,本身二者一点关系都没有,仅仅只是因为名字很像.

java方法重载和方法重写(方法覆盖)的区别:

  • 方法重载: Overload
  • 方法重写: Override

批判,本身二者一点关系都没有,仅仅只是因为名字很像.


方法重载: Overload
作用: 解决了同一个类中,相同功能的方法名不同的问题.
既然是相同的功能,那么方法的名字就应该相同.
** 规则: 两同一不同.**
同类中,方法名相同,方法参数列表不同(参数类型,参数个数,参数顺序).

方法重写: Override
作用:解决子类继承父类之后,可能父类的某一个方法不满足子类的具体特征,此时需要重新在子类中定义该方法,并重写方法体.
** 规则: 一同两小,一大.**
一同:父类和子类的方法签名是相同的,所以,建议:直接拷贝父类中方法的定义到子类中,再重写方法体,就OK了.

方法重写的原则(一同两小一大):Override

一同:
① 实例方法签名必须相同。 (方法签名= 方法名 + 方法的参数列表)
两小:
② 子类方法的返回值类型是和父类方法的返回类型相同或者是其子类。
子类可以返回一个更加具体的类.(基本类型必须一样,引用类型可以是其子类)
③ 子类方法声明抛出的异常类型和父类方法声明抛出的异常类型相同或者是其子类。
子类方法中声明抛出的异常小于或等于父类方法声明抛出异常类型;
子类方法可以同时声明抛出多个属于父类方法声明抛出异常类的子类(RuntimeException类型除外);
一大:
④ 子类方法的访问权限比父类方法访问权 限更大或相等。
private修饰的方法不能被子类所继承,也就不存在覆盖的概念.

判断是否是覆写方法的必杀技:

@Override标签:若方法是覆写方法,在方法前或上贴上该标签, 编译通过,否则,编译出错。
只有方法存在覆盖的概念,字段没有覆盖.
方法覆盖解决的问题: 当父类的某一个行为不符合子类具体的特征的时候,此时子类需要重新定义父类的方法,并重写方法体.

方法重载的原则(两同一不同)overload:

两同:同类中,方法名相同;
一不同:方法参数列表不同(参数类型、参数个数、参数顺序);
只要参数类型,参数个数,参数顺序有一个不同,参数列表就不同.

注意:方法重载和方法的返回值类型无关,只是一般要求返回值类型一致。
参数列表和参数的名称没关系,方法的重载和形参没关系.
重载方法的定义是在同一个类中,某方法允许存在一个以上的同名方法,只要它们的参数列表不同即可。

目录
相关文章
|
Python
【Python】4. 人生重开模拟器(简易版)
【Python】4. 人生重开模拟器(简易版)
421 2
|
6月前
|
人工智能 Linux API
OpenClaw多Agent协作系统实操:本地+阿里云部署与千问/Coding Plan API配置全指南
2026年OpenClaw(原Clawdbot)推出的多Agent协作系统,彻底打破了单一AI智能体的能力边界,让多个AI Agent像人类团队一样实现智能分工、实时信息同步与灵活角色配置,可高效完成内容创作、软件开发、数据分析等复杂复合型任务。在实际落地过程中,开发者不仅需要掌握多Agent协作系统的基础使用逻辑,更需要完成OpenClaw在本地多系统(MacOS/Linux/Windows11)与阿里云的稳定部署,同时实现与阿里云千问大模型API、免费Coding Plan API的无缝对接,才能真正发挥多Agent协作的核心价值。本文将深度解析OpenClaw多Agent协作系统的核心
1329 10
|
3月前
|
弹性计算 人工智能 对象存储
阿里云服务器专属活动:轻量应用服务器与云服务器ECS优惠政策及活动价格参考
阿里云ECS"限时特惠"活动面向开发者、初创企业及企业用户提供差异化高性价比方案。开发者可选轻量应用服务器68元/年起或ECS经济型e实例99元/年起,开箱即用;初创企业专享u2i实例,2核4G低至9.9元/月,算力最高提升40%;企业用户可选第9代ECS,搭载英特尔至强6处理器,提供c9i、g9i、r9i等专业实例。活动还推出弹性GPU算力加速AI落地,支持大模型推理与训练,并提供OpenClaw分钟级部署方案,无需写代码即可搭建AI助理。
|
SQL 人工智能 自然语言处理
【爆肝实测】当AiPy遇上Vibe Coding:打工人的AI编程解放之路!
AiPy是一款基于“自然语言驱动+代码全自动生成”的免费Vibe Coding工具,重新定义编程方式。访问官网https://www.aipyaipy.com开启AI编程新体验!
|
人工智能 机器人
Flowable + Claude Desktop:AI驱动的RPA新玩法
Flowable与Anthropic推出的Claude Desktop联手,带来AI驱动的自动化新体验。用户只需告知目标,系统便能自动分析屏幕、规划步骤,完成任务如网页数据抓取或表单填写。相比传统RPA,它更灵活智能,适合应对不确定性场景。通过“看懂屏幕、理解目标”,Claude Desktop在复杂环境中游刃有余,尤其擅长处理界面更新和突发情况。这种组合将Flowable的流程管理和AI灵活性完美融合,为自动化领域注入新活力。
943 3
|
Web App开发 前端开发 安全
如何用JAVA如何实现Word、Excel、PPT在线前端预览编辑?
随着信息化的发展,在线办公也日益成为了企业办公和个人学习不可或缺的一部分,作为微软Office的三大组成部分:Word、Excel和PPT也广泛应用于各种在线办公场景,但是由于浏览器限制及微软Office的不开源等特性,导致Word、Excel和PPT在在线办公很难整合到自己公司的OA或者文档系统。
1678 118
|
SQL 关系型数据库 数据库
在 Postgres 中使用 Between
【8月更文挑战第12天】
1469 4
|
安全 算法 Java
扩散模型在社交网络分析中的实际应用案例
扩散模型在社交网络分析中的实际应用案例
|
测试技术 开发工具 git
面向 C++ 的现代 CMake 教程(三)(3)
面向 C++ 的现代 CMake 教程(三)
1039 0
|
供应链 BI API
小企业记账软件精选:6款经济实用的首选工具
**摘要:** 探索6款高性价比小企业记账软件,如Zoho Books,提供全面财务管理,包括自动化工作流;随手记,适合快速收支记录及智能分类;快账,以其自动化功能如自动银行对账见长;账无忧,一站式记账、报税、财务分析工具,适合简化税务流程;金蝶云会计,提供智能财务分析但学习曲线较陡;以及好会计,基础功能强大,高性价比选择。这些软件助力小企业轻松管理财务,提升运营效率。
1506 0