Java 方法的重载与参数传递详解
作者:hmm️.
在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
方法参数传递(引用类型)
对于引用类型的参数,形式参数的改变,影响实际参数的值,如数组。
到此这篇关于Java 方法的重载与参数传递详解的文章就介绍到这了,更多相关Java 方法重载内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!