Java 方法的重载与参数传递详解
作者:hmm 时间:2023-10-19 18:50:46
方法重载概述
方法重载指同一个类中定义的多个方法之间的关系,满足下列条件的多个方法互相构成重载
* 多个方法在同一个类中
* 多个放方法具有相同方法名
* 多个方法的参数不相同,类型不同或数量不同
方法重载特特点
* 重载仅对应方法的定义,与方法的调用无关,调用方法参照标准格式
* 重载仅针对同一个类中方法的名称与参数进行识别,与返回值无关,换句话说不能通过返回值来判断两个方法是否构成重载
示例:
public class MethodDemo{
public static float fn(int a){
//方法体
}
public static int fn(int a,int b){
//方法体
}
}
方法重载练习
需求:使用方法重载的思想,设计比较两个整数是否相同的方法,兼容全整数类型(byte,short,int,long)
思路:
1.定义比较两个数字的是否相同的方法compare()方法,参数选择两个int型参数
public static boolean compare(int a,int b){
return a==b;
}
2.定义对应的重载方法,变更对应的参数类型,参数变更为两个long型参数
public static boolean compare(long a,long b){
return a==b;
}
3.定义所有重载方法,两个byte类型与两个short类型参数
public static boolean compare(byte a,byte b){
//代码片段
}
public static boolean compare(short a,short b){
//代码片段
}
4. 完成方法调用,运行测试结果
public static void main(String args[ ]){
system.out.println(cpmpare(10,20));
}
示例代码:
public class hmm081 {
public static void main(String[] args) {
//调用方法
System.out.println(compare(10,20));
//强转
System.out.println(compare((byte)10,(byte)20));
System.out.println(compare((long)10,(long)10));
}
public static boolean compare(int a,int b){
System.out.println("int");
return a==b;
}
public static boolean compare(long a,long b){
System.out.println("long");
return a==b;
}
public static boolean compare(byte a,byte b){
System.out.println("byte");
return a==b;
}
public static boolean compare(short a,short b){
System.out.println("short");
return a==b;
}
}
方法参数传递
方法参数传递(基本类型)
对于基本数据类型参数,形式参数的改变,不影响实际参数的值
虽然形参change()内的number改变,但main()参数不变,不影响实际参数值,所以第二次输出结果还是100
方法参数传递(引用类型)
对于引用类型的参数,形式参数的改变,影响实际参数的值,如数组。
来源:https://blog.csdn.net/m0_68089732/article/details/123989337
标签:Java,方法重载,方法传参数
0
投稿
猜你喜欢
详解C#中的System.Timers.Timer定时器的使用和定时自动清理内存应用
2022-11-07 14:09:54
java split()使用方法解析
2023-10-18 01:59:23
简介Java的Hibernate框架中的Session和持久化类
2023-04-17 14:41:13
Monaco Editor实现sql和java代码提示实现示例
2023-01-31 16:59:48
C++数组指针和二维数组详情
2022-03-31 21:11:07
Spring Security OAuth2 实现登录互踢的示例代码
2023-09-04 19:09:28
解析C++中的for循环以及基于范围的for语句使用
2023-11-16 09:59:58
springboot 集成redission 以及分布式锁的使用详解
2023-06-20 06:48:43
javaweb文件打包批量下载代码
2022-10-24 17:10:17
Unity实现菜品识别的示例代码
2023-06-11 22:16:10
C#如何实现调取钉钉考勤接口的功能
2023-09-14 17:31:47
idea 设置鼠标悬停(放上)弹出注释的方法
2022-03-19 21:10:52
Jenkins安装以及邮件配置详解
2023-04-20 12:42:39
Kotlin编程基础语法编码规范
2023-06-20 16:50:07
详谈hibernate,jpa与spring data jpa三者之间的关系
2022-08-04 22:35:57
C#给Word不同页面设置不同背景
2021-07-20 01:28:16
Android实现卫星菜单效果
2021-12-12 23:44:28
SpringBoot整合Web之AOP配置详解
2022-01-17 21:38:11
Android获取手机通讯录、sim卡联系人及调用拨号界面方法
2021-07-02 00:41:07
C# DataTable 转换为 实体类对象实例
2021-12-25 02:14:51