Java 方法的重载与参数传递详解
作者:hmm 发布时间:2023-10-19 18:50:46
标签:Java,方法重载,方法传参数
方法重载概述
方法重载指同一个类中定义的多个方法之间的关系,满足下列条件的多个方法互相构成重载
* 多个方法在同一个类中
* 多个放方法具有相同方法名
* 多个方法的参数不相同,类型不同或数量不同
方法重载特特点
* 重载仅对应方法的定义,与方法的调用无关,调用方法参照标准格式
* 重载仅针对同一个类中方法的名称与参数进行识别,与返回值无关,换句话说不能通过返回值来判断两个方法是否构成重载
示例:
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


猜你喜欢
- 首先,我们假设这样一个场景:一个ViewPager里面嵌套一个ViewPager,内部滑动方向和外部滑动方向一样时,该怎么解决这一冲突呢?针
- WinForm RichTextBox文本动态滚动显示文本方在RichTextBox动态显示一些文本信息时,需要一些设置,显示当前要显示的字
- Mybatis-Plus将字段设置为null项目场景:最近在做一个需求的时候需要把数据库中的某个字段设置为空问题描述:在代码中通过set方法
- 场景:同一个用户在2秒内对同一URL的提交视为重复提交。思考逻辑:1.从数据库方面考虑,数据设计的时候,某些数据有没有唯一性,如果有唯一性,
- 本文实例讲述了Java使用反射创建对象。分享给大家供大家参考,具体如下:一 实战1 代码import java.util.*;import
- 本文实例讲述了C#实现IP摄像头的方法。分享给大家供大家参考。具体实现方法如下:#region IP摄像头代码/// <summary
- 目录准备工作启动接着往下看目录准备工作我们知道SpringBoot的自动装配的秘密在 org.springframework.boot.au
- 最新开发新项目的时候,要做分享项目,要求分享有微信,微信朋友圈,QQ,QQ空间,新浪微博这五个,所分享内容包括,分享纯图片,纯文字,图文类型
- 一、Elasticseach介绍1.简单介绍官网:开源搜索:Elasticsearch、ELK Stack 和 Kibana 的
- 在Flutter * 一个某支付价值几个亿的页面这一篇中,我们使用了 ListView 将几个 GridVie
- LZ77压缩算法原理的理解数据压缩是一个减小数据存储空间的过程,目前被应用在软件工程的各个地方,了解其一些原理,方便我们更好的甄选压缩方案。
- IOC创建对象的方式一、 使用无参构造创建对象(默认方式)创建实体类注意:属性必须要有set方法,来完成注入public class Use
- Java 中的运算符与 C 语言基本一致。1、算术运算符操作符描述例子+加法 : 相加运算符两侧的值A + B 等于 30-减法 : 左操作
- Feign获取异常信息最近在使用Feign调用时,出现了异常,原本使用的是fallback,直接返回了自定义的结果@Override &nb
- 通过URL来获取网络资源并下载资源简单实例:package com.android.xiong.urltest; import java.i
- 我们都知道Android应用软件基本上都会用到登录注册功能,那么对一个一个好的登录注册模块进行封装就势在必行了。这里给大家介绍一下我的第一个
- 本文实例为大家分享了springboot实现异步任务的具体代码,供大家参考,具体内容如下1.什么异步任务同步:一定要等任务执行完了,得到结果
- 对于使用avalonia的时候某些功能需要到一些提示,比如异常或者成功都需要对用户进行提示,所以需要单独实现弹窗功能,并且可以自定义内部组件
- 本文实例为大家分享了Android下载进度监听和通知的具体代码,供大家参考,具体内容如下下载管理器关于下载进度的监听,这个比较简单,以apk
- 本文参考文档Add Flutter to existing apps。首先有一个可以运行的原生项目第一步:新建Flutter moduleT