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

【面试干货】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);               // 显示整数: 10example.display(15.5);             // 显示双精度数: 15.5example.display(10, 20.5);         // 显示整数和双精度数: 10, 20.5example.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.mzph.cn/diannao/34595.shtml

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

相关文章

VLAN单臂路由

1、搭建网络 搭建拓扑、规划IP、划分网段 2、交换机配置 配置脚本(设置trunk和创建vlan很重要) Switch>enable Switch#conf t Enter configuration commands, one per line. End with CNTL/Z.//创建vlan20 Switch(config)#vlan 20 Switch(config…

如何区分应用所在的运行环境?

常见的应用运行环境主要有:物理机、虚拟机、容器或 K8s,那么如何确定应用运行在哪种未知环境下呢?本文主要介绍如何通过一种简单方式来判断应用当前所在的运行环境。 1 物理机 物理机和虚拟机因为都是完整的操作系统。因此可以用dmidecode来…

达梦数据守护集群部署

接上篇 达梦8单机规范化部署 https://blog.csdn.net/qq_25045631/article/details/139898690 1. 集群规划 在正式生产环境中,两台机器建议使用统一配置的服务器。使用千兆或千兆以上网络。 两台虚拟机各加一块网卡,仅主机模式,作为心跳网卡…

IntelliJ IDEA2024 for Mac Java代码编辑器

Mac分享吧 文章目录 效果一、下载软件二、开始安装1、双击运行软件(适合自己的M芯片版或Intel芯片版),将其从左侧拖入右侧文件夹中,等待安装完毕2、应用程序显示软件图标,表示安装成功3、打开访达,点击【文…

边缘计算是什么?天拓四方

边缘计算,作为一种分布式计算模型,正在逐步改变我们对数据处理和计算的传统认知。其核心思想是将数据处理和计算资源放置在接近数据产生源头的边缘设备、传感器或用户设备上,从而提供更快速、实时的计算和数据分析能力。在当前的数字化时代&a…

JVM 内存区域

一、运行时数据区域 Java 虚拟机在执行 Java 程序的过程中,会把它管理的内存划分成若干个不同的数据区域。 JDK 1.8 和之前的版本略有不同,这里介绍 JDK 1.7 和 JDK 1.8 两个版本。 JDK 1.7: 线程私有: 程序计数器虚拟机栈本地…

OnlyOffice8.1新功能测评

一、导语 时隔四个月,OnlyOffice推出了8.1版本。 四个月过去,笔者的项目也接近尾声,在项目过程中还把OnlyOffice插件推荐给了项目组,希望官方多出好用功能,造福我们广大项目O(∩_∩)O 回归正题,与前几个…

基于在校学习平台MOOC的选课推荐系统

基于在校学习平台MOOC的选课推荐系统 1、效果 在线demo,点我查看 2、功能 根据学生于在校学习平台MOOC学习期间的选课记录等相关特征来对学生进行课程推荐。 采用数据挖掘技术,包括BPR、FM、CF,神经网络推荐,用户协同过滤推荐…

尚品汇-(六)

(1)属性的添加修改 平台属性对象: package com.atguigu.gmall.model.product;import com.atguigu.gmall.model.base.BaseEntity; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.Tab…

基于Pytorch框架构建ResNet模型

Pytorch 一、训练模型1.导入资源包2.定义数据预处理3.读取数据 二、定义卷积神经网络1.导入必要的库2.定义名为convolutional_block的卷积块类3.定义了一个名为identity_block的恒等块类4.定义了一个名为Resnet的深度卷积神经网络类 三、创建模型1. 检查GPU设备2. 训练过程 四、…

玄机平台流量特征分析—蚂蚁爱上树

前言 依旧是流量分析,老规矩先看看要求。 步骤1.1 这里要求我们找到admin的密码,ctrlf筛选出product2.php的访问包,因为只有这类型流量包才有东西。其他的流量包都是没啥用的,至于我为啥知道,因为每个类型的流量包我…

地信大四,实习重要吗?怎么找实习岗位?

“地信怎么找实习啊?” “实习三个月以上?暑假只有两个月啊” “什么岗位实习比较有用?” “助理类岗位是做什么?” …… 同学们好啊,不知不觉24年已经是过完一小半了,24届毕业的同学们也差不多就要迎来…

测试工程师如何学习系统架构

面对同一个“知识点”不同的工作角色需要考虑的问题不一样,比如在系统架构中会使用到消息队列功能,系统架构师,开发人员,测试人员,运维人员,需求人员等需要考虑的问题不一样。 系统架构师在考虑消息队列功能…

数电大作业-四输入表决器

(PCB和multisim仿真画的有很大问题,没有VCC输入和GND,没学过直接裸画的,之后会好好看视频学习) 应用背景: 四个评委,三个及以上评委同时按下通过按钮时,选手才能通过。否则不通过。…

自动驾驶ADAS

1 ToF摄像头分类 1.1 ToF原理 类似雷达测距,生成3D点云,或者叫3D贴图。ToF相机的分辨率一般在3万像素左右。ToF距离计算公式如图所示。 Figure 1-1 ToF距离计算公式 D:距离 c:光速 PHI:相位差 fmod:调制频率…

创新指南|品牌电商新策略:五大转型思路与RGM举措

在流量红利过去的背景下,品牌电商面对多渠道运营的难题,如缺乏统盘经营、绩效管理分散、价格战失控、用户体验不足以及流量过度依赖,品牌电商如何有效应对这些挑战,本文从5个维度探讨全渠道电商RGM破局之路,实现品牌的…

pyppeteer模块经常使用的功能,相关操作案例

官方仓库地址:https://github.com/miyakogi/pyppeteer 官方文档地址:API Reference — Pyppeteer 0.0.25 documentation Selenium环境的相关配置比较繁琐,此外,有的网站会对selenium和webdriver进行识别和反爬,因此在…

【MySQL】数据库——事务

一.事务概念 事务是一种机制、一个操作序列,包含了一组数据库操作命令,并且把所有的命令作为一个整体一起向系统提交或撤销操作请求,即这一组数据库命令要么都执行,要么都不执行事务是一个不可分割的工作逻辑单元,在数…

【因果推断python】54_效应异质性和非线性带来的挑战2

目录 Continues Treatment and Non Linearity Key Concepts Continues Treatment and Non Linearity 我们只是深入探讨了二元结果增加异质性治疗效果分析难度的一个例子。但这种现象并不局限于市场营销中的转换问题。例如,2021 年,全球成功向公众提供了…

深度学习 --- stanford cs231学习笔记五(训练神经网络的几个重要组成部分之三,权重矩阵的初始化)

权重矩阵的初始化 3,权重矩阵的初始化 深度学习所学习的重点就是要根据损失函数训练权重矩阵中的系数。即便如此,权重函数也不能为空,总是需要初始化为某个值。 3,1 全都初始化为同一个常数可以吗? 首先要简单回顾一下…