不理解为啥两个运行结果差距这么大,这个change(String str1)和change(String str)都是来传递方法中的值得,为什么还会不一样呢
如果change方法内部的str,和方法参数同名,和类成员属性也同名,那么局部优先,相当于他修改的是方法参数中的str,并不是最上面类属性的str,所以这里的change方法不生效。
如果change方法内部的str,和方法参数不同名,但和类成员属性同名,相当于他修改的是最顶部的类属性的str,所以这里的change方法生效。
你的str是个全局变量
如果形参名叫str1,那么修改str修改的是全局变量
如果形参也叫str,那么修改str修改的是形参
你需要复习同名变量的作用域相关的知识了