本帖最后由 xmanxihua 于 2012-11-17 00:47 编辑
JAVA中参数传递使用的都是值传递,在你的代码中str引用了一个String对象,这个引用的副本被传到了change方法中,当change方法执行完后,引用的副本被丢弃了,最终str还是引用原来的String对象,另外String类的对象不能被改变,这样,change方法执行完毕,str仍然引用原来的String对象,并且这一个对象本身并没有被改变,所以,最终打印出的值不变。
public class 测试2{
public static String change()//返回一个String引用
{
return "你好";
}
public static void main(String[] args)
{
String str="Hello";
str=change();
System.out.println(str);
}
} |