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:10
12
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 }
如图:
时间: 2024-10-24 11:25:12