Java方法值传递
1、变量是基本数据类型时,值存放在栈空间中,在进行值传递时,是将变量的真实值传递给形参;
2、变量是引用数据类型时,值存放在堆空间中,在进行值传递时,是将变量所引用的地址值传递给形参;
基本数据类型:
public class Test02 {
public static void main(String[] args) {
int a = 11111;
test01(a);
System.out.println("a=" + a);
}
//传递的是具体的值
public static void test01(int a){
a = 2222222;
}
}
输出结果:
a=11111
引用数据类型:
public class Test02 {
public static void main(String[] args) {
Student stu = new Student();
stu.setName("张三");
System.out.println(stu);
test01(stu);
System.out.println(stu);
}
//传递的是地址值
public static void test01(Student stu){
stu.setName("李四");
}
}
class Student{
private String name;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
@Override
public String toString() {
return "Student{" +
"name='" + name + '\'' +
'}';
}
}
输出结果
Student{name=‘张三’}
Student{name=‘李四’}