1. 程式人生 > >JAVA學習筆記 引數傳值機制

JAVA學習筆記 引數傳值機制

一。程式碼

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[]){

user3 u1=new user3(1,"www");        
u1.u2(u1);
System.out.println(u1.name);         //列印u1(u地址指向的內容)所以列印wu
u1.u3(u1);
System.out.println(u1.name);         //指向仍然是之前u的地址,所以打印出來的仍然是wu


}


}

二。筆記

1.JAVA中所有引數的傳遞都是“值”傳遞,即傳遞的是值的副本,不改變原引數。

2.引用型別的傳遞實質上是傳遞“物件的地址”(副本的地址和原引數地址相同)