方法的参数传递机制
程序员文章站
2023-12-26 10:29:39
...
方法的参数传递机制
1、方法的参数传递机制
(1)形参是基本数据类型
1、传递数据值
(2)实参是引用数据类型
1、传递地址值
2、特殊的类型:String、包装类等对象不可变性
练习代码:
import java.util.Arrays;
public class Exam4 {
public static void main(String[] args) {
int i=1;
String str="hello";
Integer num=200;
int [] arr={1,2,3,4,5};
MyData my=new MyData();
change(i,str,num,arr,my);
System.out.println("i="+i); //i还是 i=1
System.out.println("str="+str); //str还是 str=hello
System.out.println("num="+num); //num 还是num=200
System.out.println("arr="+ Arrays.toString(arr)); //arr={2,2,3,4,5}
System.out.println("my.a="+my.a); //MyData.a=11
}
public static void change(int j,String s,Integer n,int[] a,MyData m){
j+=1; //j=2
s+="world"; //s=helloworld
n+=1; //n=201
a[0]+=1; //arr={2,2,3,4,5} 因为a[0]指向arr[0]把arr[0]从1变成2
m.a+=1; //MyData.a=11 因为m.a指向MyData.a 把MyData.a从10变成11
}
}
class MyData{
int a=10;
}
运行结果:
i=1
str=hello
num=200
arr=[2, 2, 3, 4, 5]
my.a=11
Process finished with exit code 0