1 public class ArgsTransfer { 2 3 /* 4 * 基本数据类型直接存储在变量中,函数参数传递时,是将变量中存储的数据拷贝,函数中改变形参,和调用处的实参是不同的变量,两边互不影响 5 * 引用数据类型变量中存储的是地址,传入函数时,传递的也是地址,函数中根据这个地址操作对象,和调用处引用的是同一个对象,一边改变两边都变 6 */ 7 public static void main(String[] args) { 8 9 int x = 10;10 fun(x);11 System.out.println(x); //print:1012 13 Person p = new Person();14 p.name = "张三";15 fun(p);16 System.out.println(p.name); //print:李四17 }18 19 static void fun(Person p){20 p.name = "李四";21 }22 static void fun(int x){23 x = 15;24 }25 }26 27 class Person{28 String name;29 }
如图: