【面试干货】Java方法重载规则

news2024/11/20 11:23:35

【面试干货】Java方法重载规则

  • 1、方法重载的规则和注意事项
    • 1.1 方法名必须一致
    • 1.2 参数列表必须不同
    • 1.3 代码示例
    • 1.4 与方法的返回值无关
    • 1.5 存在于父类和子类或同类中
    • 1.6 可以抛出不同的异常
    • 1.7 可以有不同的修饰符
  • 2、注意事项
  • 3、总结


💖The Begin💖点点关注,收藏不迷路💖

在Java中,方法重载(Overloading)是一种允许在同一个类中定义多个同名方法,但参数列表不同的机制。这种方法增强了代码的灵活性和可读性。以下是Java方法重载的规则和注意事项:

1、方法重载的规则和注意事项

1.1 方法名必须一致

重载的方法 必须具有相同的方法名。这是方法重载的基本前提。

1.2 参数列表必须不同

参数列表的不同主要体现在以下几个方面:

  • 参数的类型: 方法参数的类型必须不同
  • 参数的个数: 方法参数的个数可以不同
  • 参数的顺序: 即使参数类型相同,只要参数的顺序不同,也可以构成重载

1.3 代码示例

OverloadExample 类:

public class OverloadExample {  
 void display(int a) {  
     System.out.println("显示整数: " + a);  
 }  

 void display(double a) {  
     System.out.println("显示双精度数: " + a);  
 }  

 void display(int a, double b) {  
     System.out.println("显示整数和双精度数: " + a + ", " + b);  
 }  

 void display(double a, int b) {  
     System.out.println("显示双精度数和整数(反序): " + a + ", " + b);  
 }  
}

//示例调用main方法:

public static void main(String[] args) {
 OverloadExample example = new OverloadExample();
 example.display(10);               // 显示整数: 10
 example.display(15.5);             // 显示双精度数: 15.5
 example.display(10, 20.5);         // 显示整数和双精度数: 10, 20.5
 example.display(20.5, 10);         // 显示双精度数和整数(反序): 20.5, 10
}

在这里插入图片描述

1.4 与方法的返回值无关

方法的返回值类型不是方法重载的考虑因素。 也就是说,两个方法即使返回值类型不同,只要方法名和参数列表相同,也不能构成重载。

1.5 存在于父类和子类或同类中

方法重载可以发生在同一个类中,也可以发生在子类与父类之间(但子类不能通过重载改变父类方法的参数列表)。 需要注意,子类可以通过重写(Overriding)来改变父类方法的实现。

1.6 可以抛出不同的异常

重载的方法可以声明抛出不同的异常,但这并不是重载的必要条件。

1.7 可以有不同的修饰符

方法的修饰符(如public、protected、private等)在方法重载中不起决定性作用。 但是,它们会影响方法的可见性和访问权限。

2、注意事项

1、方法的重载是 静态的,编译器在编译时根据参数列表确定调用哪个方法。方法重载与方法的重写(Overriding)不同。

2、重写发生在父类和子类之间,要求方法名、参数列表和返回类型都相同(或子类方法返回类型是父类方法返回类型的子类),并且子类方法的访问权限不能低于父类方法。

3、总结

1、方法重载 是Java中提高代码灵活性和可读性的重要手段。通过合理地使用方法重载,我们可以编写出更加清晰、易于维护的代码。

2、但是,在使用方法重载时,也需要注意避免过度重载,以免增加代码的复杂性和维护难度。

在这里插入图片描述


💖The End💖点点关注,收藏不迷路💖

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1838117.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

据APO Research(阿谱尔)统计,2023年全球乳酸企业产能约119.3万吨

乳酸又称 2-羟基丙酸,一种天然有机酸,分子式是 C3H6O3。是自然界中最为广泛存在的羟基酸,于 1780 年被瑞典科学家 Scheele 首次发现。乳酸是自然界最小的手性分子,以两种立体异构体的形式存在于自然界中,即左旋型 L-乳…

白酒:酒文化传承中的挑战与机遇

随着时代的变迁,酒文化传承面临着许多挑战与机遇。我们来看看酒文化传承面临的挑战。随着现代生活方式的改变,人们对于传统酒文化的认知逐渐淡化。与此同时,年轻一代对于酒文化的兴趣不如老一辈浓厚,这使得酒文化的传承面临断层的…

001、DM8安装

参照:https://eco.dameng.com/document/dm/zh-cn/pm/install-uninstall.html 1. 准备工作 操作系统查看 [rootora19c ~]# cat /etc/redhat-release CentOS Linux release 7.9.2009 (Core)新建用户 [rootora19c ~]# groupadd dinstall -g 2001 [rootora19c ~]# …

聚观早报 | 小米15配置规格曝光;比亚迪车险开售

聚观早报每日整理最值得关注的行业重点事件,帮助大家及时了解最新行业动态,每日读报,就读聚观365资讯简报。 整理丨Cutie 6月19日消息 小米15配置规格曝光 比亚迪车险开售 真我GT6细节曝光 极星汽车加速全球扩张 Model 3高性能版开启交…

部署LVS-NAT群集

目录 LVS-NAT模式部署 ​1.准备工具 2.所有虚拟机初始化 3.配置NFS共享存储(20.0.0.40) 3.1安装软件包 3.2创建共享目录和测试文件 4.web服务器部署(20.0.0.20 20.0.0.30配置相同) 4.1yum安装nginx服务 4.2测试nfs共享服…

SpringCloud Alibaba Sentinel基础入门与安装

GitHub地址:https://github.com/alibaba/Sentinel 中文文档:https://sentinelguard.io/zh-cn/docs/introduction.html 下载地址:https://github.com/alibaba/Sentinel/releases Spring Cloud Alibaba 官方说明文档:Spring Clou…

Handler机制

目录 一、简介二、相关概念解释2.1 Message(消息)2.2 Handler(处理器)2.2.1 Handler的构造方法2.2.2 Handler sendMessage()相关的方法2.2.3 Handler dispatchMessage()方法 2.3 Mes…

SynchronizedLockAQS详解

加锁目的:由于线程执行的过程是不可控的,所以需要采用同步机制来协同对对象可变状态的访问。 加锁方式:java锁分为两种--显示锁和隐示锁,本质区别在于显示锁需要的是程序员自己手动的进行加锁与解锁如ReentrantLock需要进行lock与unlock。而隐式锁则是Synchronized,jvm内置…

Node.js实现短链接:shortid、epxress让URL更简单

文章目录 一、短链接介绍二、插件介绍1、epxress2、shortid 三、实现方案1、安装依赖:2、实现原理 四、示例代码五、测试生产短链接 一、短链接介绍 短链接是指仅包含一个网址的链接形式,通俗一些就是将一个很长很复杂的的网址变成一个简短易记的链接。…

探索智慧工厂:智能制造的未来之路

在工业领域,随着人工智能、大数据和物联网等新一代信息技术的发展,智慧工厂逐渐成为制造业转型升级的重要方向。本文将深入探讨智慧工厂智能制造的解决方案,从技术应用到产业趋势,为读者揭开智能制造的未来之路。 #### 一、智慧工…

【硬件开发】振铃

振铃产生的原因 当开关从一个状态切换到另一个状态时,由于寄生电容、电感等元件的存在,导致电路中的电压和电流发生瞬时波动的现象。 驱动电路振铃 开关管的驱动线上的寄生电容和寄生电感导致的振铃为驱动电路振铃 驱动电路振铃削弱的方法 开关节点振…

央国企财务专家的“专家课”——中国总会计师协会联合实在智能举办RPA专项培训

近日,中国总会计师协会正式举办了为期五天的「财务数字化思维与实用IT技能提升」专项培训,吸引了来自中铁十五局集团有限公司、中国航空工业规划设计院、中核核电运行管理有限公司、中国北方车辆有限公司、一汽物流有限公司等国企、事业单位及民营企业共…

Java23种设计模式(五)

1、MVC 模式 MVC 模式代表 Model-View-Controller(模型-视图-控制器) 模式。这种模式用于应用程序的分层开发。 Model(模型) - 模型代表一个存取数据的对象或 JAVA POJO。它也可以带有逻辑,在数据变化时更新控制器。…

如何快速使用向量检索服务DashVector?

免费体验阿里云高性能向量检索服务:https://www.aliyun.com/product/ai/dashvector 本文将介绍如何快速上手使用向量检索服务DashVector。 前提条件 已创建Cluster:创建Cluster。 已获得API-KEY:API-KEY管理。 已安装最新版SDK&#xff1a…

一文理清OCR的前世今生

AI应用开发相关目录 本专栏包括AI应用开发相关内容分享,包括不限于AI算法部署实施细节、AI应用后端分析服务相关概念及开发技巧、AI应用后端应用服务相关概念及开发技巧、AI应用前端实现路径及开发技巧 适用于具备一定算法及Python使用基础的人群 AI应用开发流程概…

Vue2进阶——项目结构/小注意项

文章目录 一、文件解构二、render三、ref属性四、mixin配置项五、插件六、scoped七、浏览器的本地存储1、localStorage2、sessionStorage 八、$nextTick九、过渡与动画1、写法2、使用3、第三方动画 一、文件解构 public,favicon.ico,index.html,src,main.js这些文件名都不能改&…

iOS 18 终于更新了 iOS 隐藏 App 功能,这次是真的隐藏

如何锁定或隐藏 App 我们一起来看看 iOS 如何隐藏软件,下面是具体的操作步骤: iOS 隐藏 App 的第一步肯定是找到你想隐藏或锁定的应用程序,然后长按它的图标,在长按之后出现的选项中我们选择“需要 Face ID”。 然后在新弹出的选…

Red Hat Ansible Automation Platform架构

目录 示例架构:一、Ansible Automation Platform 实现流程详解1. 自动化控制器 (Automation Controller)2. 自动化网格 (Automation Mesh)3. 私有自动化中心 (Private Automation Hub)4. Event-Driven Ansible 控制器5. 数据存储 (PostgreSQL 数据库) 二、实现流程1…

各类存储器类型(RAM、ROM、FLASH、DRAM、SRAM)

1 计算机存储类型构成 在计算机中,各类存储器构成了计算机能高速高效运转程序的基石。 计算机的存储体系中,从速度慢到速度快对应着容量大到小,也就是说,速度越快容量越小;容量越大的,速度越慢。两者互相…

AI办公自动化:用通义千问批量翻译长篇英语TXT文档

在deepseek中输入提示词: 你是一个Python编程专家,现在要完成一个编写基于qwen-turbo模型API和dashscope库的程序脚本,具体步骤如下: 打开文件夹:F:\AI自媒体内容\待翻译; 获取里面所有TXT文档&#xff…