Java基础之参数传递

 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 }

如图:

原文地址:https://www.cnblogs.com/zunpeng/p/3754027.html