一。代码
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.引用类型的传递实质上是传递“对象的地址”(副本的地址和原参数地址相同)