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
0
投稿
猜你喜欢
- 当你在开发flutter应用的时候,有时会需要调用native的api,往往遇到flutter并没有相应的package, 这时候flutt
- 引言我已经一个多星期没碰过电脑了,今日上班,打开电脑的第一件事就是想着写点什么。反正大家都还沉浸在节后的喜悦中,还没进入工作状态,与其浪费时
- 尝试了各种防止中文乱码的方式,但是还是乱码;最后还是细节问题导致;解决方式:以及俩种方式是百度的,我的问题不是这俩块1.在requestMa
- tcp客户端示例#include <errno.h> #include <sys/socket.h> #includ
- 自动登录是我们在软件开发时一个非常常见的功能,例如我们登录 QQ 邮箱:很多网站我们在登录的时候都会看到类似的选项,毕竟总让用户输入用户名密
- SpringBoot集成Mybatis时mybatis.mapper-locations和@MapperScan的作用1、mybatis.m
- 一、系统介绍1.开发环境开发工具:Eclipse2021JDK版本:jdk1.8Mysql版本:8.0.132.技术选型Java+Swing
- yml 文件规则yml文件的好处,天然的树状结构,一目了然,实质上跟properties是差不多的。不支持tab缩进可以使用 "-
- 本文实例讲述了C#创建临时文件的方法。分享给大家供大家参考。具体分析如下:C#可以通过Path.GetTempFileName获得一个临时文
- Google 发布的Material Design支持库,对我们的APP设计有很大的影响,如果重新设计APP,支持库应该直接用V4提升到V7
- 在android开发中,有时候我们想获取手机的一些硬件信息,比如android手机的总内存和可用内存大小。这个该如何实现呢?通过读取文件&q
- SimpleDateFormat是处理日期格式转换的类。官方API_1.8关于SimpleDateFormat继承于DateFormate截
- 项目中肯定会遇到异步调用其他方法的场景,比如有个计算过程,需要计算很多个指标的值,但是每个指标计算的效率快慢不同,如果采用同步执行的方式,运
- 最近项目中要做一个带进度条的上传文件的功能,学习了AsyncTask,使用起来比较方便,将几个方法实现就行,另外做了一个很简单的demo,希
- 本文实例讲述了Android+SQLite数据库实现的生词记事本功能。分享给大家供大家参考,具体如下:主activity命名为Dict:代码
- 这几天自己研究了关于地手机上面开发安卓地图的问题,发现百度官方示例demo讲解百度持续定位方面还是讲解的有些不清楚,本人研究了几次之后将其弄
- 记录一下微信第三方实现登录的方法。还是比较简单。一、必要的准备工作1.首先需要注册并被审核通过的微信开放平台帐号,然后创建一个移动应用,也需
- Java实现PC微信扫码支付做一个电商网站支付功能必不可少,那我们今天就来盘一盘微信支付。微信支付官方网站业务流程:开发指引文档支付服务开发
- instanceof判断某个对象是否是某个类的实例或者某个类的子类的实例。它的判断方式大概是这样的:public<T> bool
- 一、maven引入依赖,数据库驱动根据项目需求自行引入<!-- https://mvnrepository.com/artifact/