java中方法对于String类型全部变量的操作

publicclassTest1{Stringstr=newString("jursoft");Stringstr1=("jursoft");Stringstr2=new... public class Test1 {
String str = new String("jursoft");
String str1 = ("jursoft");
String str2 = new String("jursoft");
char[] ch = {'a','b','c'};
public static void main(String[] args){
int num = 2014;
Test1 t = new Test1();
num = t.change(t.str, t.ch, num);
System.out.println(t.str + " " + num + " " + new String(t.ch) + " " + t.str1 + " " + t.str2);
}
private int change(String str,char[] ch,int num){
str = "com";
str1 = "com";
str2 = new String("com");
ch[2] = 'd';
num += 1;
return num;
}
}
输出结果为str=jursoft str1 = com str2 = com
想请教一下关于为何出现这种结果?
展开
 我来答
wchyumo2011
2015-07-11 · TA获得超过2万个赞
知道大有可为答主
回答量:5810
采纳率:79%
帮助的人:2836万
展开全部
函数中在查找变量时,先查找的是局部变量,由于change函数中str变量和类变量相同,所以,str="com"赋值是,系统认为是对string str中的str赋值,而不是类属性中的str,而str1和str2就不会产生这种误会,在str="com"前面加一个限定this.str="com"即可消除这种歧义。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式