作者回复:
你可以先阅读一下FAQ里的这个文章 “Java方法调用是传值还是传引用”
https://github.com/deepnighttwo/LetsJava/blob/master/FAQ/02%E7%AB%A0-Java%E6%96%B9%E6%B3%95%E8%B0%83%E7%94%A8%E6%98%AF%E4%BC%A0%E5%80%BC%E8%BF%98%E6%98%AF%E4%BC%A0%E5%BC%95%E7%94%A8.md
其实Java比C++要简单,Java的参数传递就一句话:把形参当成方法的局部变量,然后在方法调用时,把实参的值,赋值给形参。
完事儿了,就这么简单,没有指针,没有地址,没有第二种可能和操作。
所以,形参无论怎么折腾,都无法影响实参一丝一毫。这点在参数为基本数据类型时毫无混淆的可能。
但是如果参数是个引用,就略绕一点点,但也只是一点点。如果参数是个引用,那么很简单,其实就是形参和实参这两个引用,指向同一个对象而已。仅此而已。
(如果形参在方法代码里再指向别的对象,那么还是那句话,对实参没有任何影响,实参还是指向之前的对象)