黑马程序员技术交流社区
标题:
调用方法以后,输出的结果不变?
[打印本页]
作者:
gpalw
时间:
2015-11-10 21:14
标题:
调用方法以后,输出的结果不变?
publicclass Test1 {
publicstaticvoid changeStr(String str){
str="welcome";
}
publicstaticvoid main(String[] args) {
String str="1234";
changeStr(str);
System.out.println(str);
}
}
输出结果为什么是1234?是因为值传递吗?不是太理解。。
作者:
zhengtuwl
时间:
2015-11-10 22:34
变量使用的就近原则。
作者:
零尘
时间:
2015-11-11 15:57
就近原则,会优先调用方法体内的局部变量
作者:
黑夜中那颗星
时间:
2015-11-11 16:09
public static void changeStr(String str){ //这里得到的1234 相当于 String str = 1234; 这里的str和下面str是不同的变量
str="welcome"; //这里改变的是本函数里面str的值,并不是改变下面那个
}
public static void main(String[] args) {
String str="1234";
changeStr(str); //这里把str传进去,其实是把他的值1234传进去
System.out.println(str);//所以这里打印的还是1234
}
作者:
limao3344
时间:
2015-11-11 18:27
我也来看看!
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2