Java的参数传递机制
java的参数传递机制
方法的调用流程
-
方法没有被调用的时候,在方法区中的字节码文件中存放
-
方法被调用的时候,需要进入到栈内存中运行
方法的参数传递机制
Java的参数传递机制:值传递
值传递定义:
在传输实参给方法的形参的时候,并不是传输实参变量本身,而是传输实参变量中存储的值这就是值传递(即实际参数值的副本(复制品)传入方法内,而参数本身不受影响)
注意:
1. 实参:调用方法时,实际传入的参数的值
2.形参:方法声明时的参数
不同数据类型的参数传递机制即区别:
基本数据类型的参数传递机制: 值传递
引用数据类型的参数传递机制: 值传递
区别:
基本类型的参数参数传输存储的数据值
引用数据类型的参数传输存储的地址值
(1)形参是基本数据类型:
public class MethodDemo1 {
public static void main(String [] args){
int a=10;
show(a);
System.out.println(a); //10 a的值没有发生改变
}
public static void show(int a){
System.out.println(a); //10
a=20;
System.out.println(a); //20
}
}
(2)形参是引用数据类型
public class MethodDemo1 {
public static void main(String [] args){
int[] ages={10,20,30,40};
//此时ages的值是数组的地址
System.out.println(ages); //[I@2a139a55
//根据数组的地址,对数组中的数据进行修改
show(ages);
System.out.println(ages[1]); //50 ages[1]的值发生改变
}
public static void show(int[] ages){
System.out.println(ages[1]); //20
ages[1]=50;
System.out.println(ages[1]); //50
}
}