新手请教大神一个问题
java吧
全部回复
仅看楼主
level 1
ht4431 楼主
String 不是引用类型吗? 为什么在set方法里改变了 value的值 输出的还是1 不应该是2么?
2017年12月07日 08点12分 1
level 3
String是一个特殊的引用类型
2017年12月07日 08点12分 2
level 3
虽然你的变量名是一样的 ,你没有对value重新赋值
String value="1";
value=set(value);
System.out.println(value);
}
public static String set(String value){
value="2";
return value;
}
这样你会明白点儿
2017年12月07日 08点12分 4
[大拇指]
2017年12月07日 08点12分
[大拇指] 明白了
2017年12月07日 09点12分
我想问用static修饰可以吗
2017年12月11日 03点12分
@快乐成长yylife 你是说加个类的静态变量吗?是可以的 ,不过写法稍微有点变化
2017年12月11日 07点12分
level 7
如果你在方法里加一个this.value就行了。你的方法的value 是你方法传递进去的那个value,也就是你传进去的是1 但是你把这个传赋值了2,但这个value只在这个方法里有效,
2017年12月07日 08点12分 5
level 7
这就是局部变量和成员变量的区别了
2017年12月07日 08点12分 6
level 7
方法中传递的value是你的set的局部变量,方法完了就消失了!
2017年12月11日 03点12分 7
level 8
劝退[滑稽]
2017年12月11日 03点12分 8
1