随便说几句
Topic source第一种,外部变量的引用和类成员的引用都没有变化,只是引用的值的指向变化了。
第二种,外部变量的引用变化了,类成员的引用没有变化。
Person p = new Person();
String[] fullname = new String[] { "Homer", "Simpson" };
p.setName(fullname); // 传入fullname数组
System.out.println(p.getName()); // "Homer Simpson"
fullname = new String[] {"Bart", "Simpson"};
System.out.println(p.getName()); // 还是 "Homer Simpson"
其实把第一种改成如上,不就好理解了么...
- 1
永夜闲阶
第二种情况,成员变量是字符串数组,给这个成员变量赋值。那这个成员变量就指向一个数组,这个数组的元素发生变化时,这个成员变量指向的数组的值就发生了变化。
第二种情况,成员变量是字符串,给这个成员变量赋值,那么这个成员变量就指向一个字符串“Bob”。局部变量bob突然指向了“Alice”,也就是此时类成员变量和局部变量指向的是不同的字符串。