1. 程式人生 > >Java 引數傳參機制

Java 引數傳參機制

Java中,方法中所有引數都是“值傳遞”,也就是“傳遞的是值的副本”。

也就是說,我們得到的是“原引數的影印件,而不是原件”。因此,影印件改變不會影響原件。

·基本資料型別引數的傳值

傳遞的是值的副本。副本改變不會影響原件。

引用型別引數的傳值

傳遞的是值的副本。但是引用型別指的是“物件的地址“因此,副本和原引數都指向了同一個“地址”,改變“副本指向地址物件的值,也意味著原引數指向物件的值也發生了改變

 

例子:

public class User4 {

int id; //id

String name; //賬戶名

String pwd; //密碼

public User4(int id, String name)

{

this.id = id;

this.name = name;

}

public void testParameterTransfer01(User4 u)

{

u.name = "高小八";

}

public void testParameterTransfer02(User4 u)

{

u = new User4(200,"高三");

}

public static void main(String[] args)

{

User4 u1 = new User4(100,"高小七");

u1.testParameterTransfer01(u1);

System.out.println(u1.name);

u1.testParameterTransfer02(u1);

System.out.println(u1.name);

}

}