62,625
社区成员
发帖
与我相关
我的任务
分享public class Test{
public static void main(String[] args) {
String a = "a";
String b = "b";
//swap(a, b); 相当于:
{
String a1 = a;
String b1 = b;
String temp = a1;
a1 = b1;
b1 = temp;
} //出来之后a还是a,b还是b。和a1,b1无关。
Myclass s = new Myclass();
s.str1 = "111";
s.str2 = "222";
//change(s);相当于
{
Myclass s1 = s;
String temp = s1.str1;
s1.str1 = s1.str2;
s1.str2 = temp;
} //出来后s和s1指向的是同一个对象。而这个对象已经被修改了
//总结:你无法改变传入方法之前的引用指向的对象。但是你可以去改变那个对象(比如它的变量)
}
public static void swap(String a1, String b1) {
String temp = a1;
a1 = b1;
b1 = temp;
}
public static void change(Myclass s1) {
String temp = s1.str1;
s1.str1 = s1.str2;
s1.str2 = temp;
}
}
class Myclass {
public static String str1;
public static String str2;
}
[/quote]
为什么不用潘金莲这个名字了