JAVA學習筆記 引數傳值機制
阿新 • • 發佈:2018-12-22
一。程式碼
public class user3 {
int id;
String name;
String pass;
static String company;
public user3(int id,String name){
this.id=id;
this.name=name;
}
public void u2(user3 u){
u.name="wu";
}
public void u3(user3 u){ //u指向的地址和之前的u相同
u=new user3(2,"abc"); //新建了一個u的地址(新物件)不影響之前u的指向
}
public static void main(String args[]){
u1.u2(u1);
System.out.println(u1.name); //列印u1(u地址指向的內容)所以列印wu
u1.u3(u1);
System.out.println(u1.name); //指向仍然是之前u的地址,所以打印出來的仍然是wu
}
}
二。筆記
1.JAVA中所有引數的傳遞都是“值”傳遞,即傳遞的是值的副本,不改變原引數。
2.引用型別的傳遞實質上是傳遞“物件的地址”(副本的地址和原引數地址相同)