sap*_*Pro 0 java oop parameter-passing pass-by-reference pass-by-value
在下图中,p指向person.
p作为对名为的函数的引用传递callFunction.现在,如果我对p意志做出任何改变,他们也会反映出来person吗?请解释.
我理解传递的参数是原始变量的参考值(我希望如此!).但我无法进一步思考.

如果你改变这样的细节p,它会被反映出来
// Nothing done to p before this
p.changeName("Not Sanika Anymore"); // This will be reflected as both point to the same object as references are the same
Run Code Online (Sandbox Code Playgroud)
如果您创建一个新的Person并将其分配给p那么它就不会
// New Person for p
p = new Person("New Sanika"); // now this p is pointing to the newly created object's reference
p.changeName("Not Sanika Anymore"); // This won't be reflected
Run Code Online (Sandbox Code Playgroud)
那是因为java 纯粹是 按值传递.您将对象的引用作为值传递给callFunction().
Eng.Fouad的这个答案以一种非常好的方式解释了这个概念.