4.11 参数传输机制、
发生在多个变量指向同一对象的情况,详情可见下述代码。
理解:
-
创建一个对象,对象便对应于一个地址。两个不同的对象对应着两个不同的地址。
-
类与对象的关系:类相当于一个大超市,对象相当于是超市中带有编号(即:地址)的小推车。小推车中的内容都包含于超市中。
-
对象传递只是传递地址而已
-
改变某个地址的某个变量,可以改变地址所对应的对象的内容
如:
//将对象u1的地址复制给u
u.name="wangls"; //则改变了对象u1的name的内容
代码示例:
/**
* 测试数值传输
*
* @author 王立生
*
* 题目:测试数值传输,了解所得结果的原因
*/
public class User3 {
int id;
String name;
String pwd;
public User3(int id,String name){
this.id= id;
this.name = name;
}
public void testParameterTranslater01(User3 u){
u.name="王小二";
}
public void testParameterTranslater02(User3 u){
u=new User3(200,"王老五");
}
public static void main(String[] args){
User3 u1=new User3(100,"王小立");
u1.testParameterTranslater01(u1);
System.out.println(u1.name);
u1.testParameterTranslater02(u1);
System.out.println(u1.name);
}
}
程序运行的路线: