刚看到两篇不一样的文章,看到的可以帮助我理解一下
https://www.cnblogs.com/hpyg/p/8005599.html
https://www.cnblogs.com/9513-/p/8484071.html
写的很好,感受颇深!
总结:
1、值类型作为参数时,传递的是值,无论怎么改变拷贝,原值都不会变。
值传递的精髓是:传递的是存储单元中的内容,而不是存储单元的引用。
2、对象作为参数:对象中的内存地址拷贝了一份传给参数
分情况:
1)当拷贝的对象地址指向的是同一个地址,值变了,则输出后来的值
2)当拷贝的对象地址发生变化,但原来的值未变,则输出原来的值
我自己理解:我觉得在java中参数传递应该是值传递,若是对象应该看地址是否发生改变,并且原值是否发生改变,若改变输出的值也就不一样了。