public class $_04_Notice {
public static void main(String[] args) {
String s1 = "hello";
$_04_Notice notice = new $_04_Notice();
// notice.test(s1);
// System.out.println("s1 = " + s1); // s1 = hello
s1 = notice.test(s1);
System.out.println("s1 = " + s1);
}
public String test(String s1) {
s1 = "hi~~";
return s1;
}
/*public void test(String s1) {
s1 = "hi~~";
}*/
}
>>>>>>>>>>>>>>>>>>>>>>>>>>>>
为什么change没有改变值,可以理解为:
常量池里面的值不变的,
change方法里面的局部变量指向了一个新的常量。
change方法调用结束后,
main方法里面的局部变量还是指向常量池里面常量。 |