JAVA 为什么输出k会有hello

不太能理解这个程序的运行过程,希望能有人帮忙梳理指导一下!k的引用变化是怎样的

img

调用方法传递的是它的值,你把值改了。哪怕你把参数名叫个O k那句照样打印出hello

String X="hello"://x = hello
myMethod(x);//此处x就是作为参数k进入方法的所有此处可理解为k= hello
System.out.println("x="+x);

static void myMethod(String k){
k=k+",你好" ; //k = "hello,你好"
System.out.println(k="+k) //打印
}

你传x进的myMethod(x)里,值是hello,输出k就是hello,你好,但是你在上面主线程中输出的还是x本身,除非你重新对x赋值,不然x是不会变化的。

值传递,引用没变化。