若说值传递。基本类型是copy的值赋给形参,对象是把 堆中对象的 地址 传给 形参。
若说分为值传递和引用传递。。引用传递 是因为这个传的地址,导致实参和形参 操作的都是同一块内存。
有点乱,像文字层次上的撕逼。。
若往引用传递方面思考,C++的指针又把我搅乱了。,java里不能直接管理内存,传递的不是 变量本身 的栈地址。而是变量的内容(值)
若说值传递。基本类型是copy的值赋给形参,对象是把 堆中对象的 地址 传给 形参。
若说分为值传递和引用传递。。引用传递 是因为这个传的地址,导致实参和形参 操作的都是同一块内存。
有点乱,像文字层次上的撕逼。。
若往引用传递方面思考,C++的指针又把我搅乱了。,java里不能直接管理内存,传递的不是 变量本身 的栈地址。而是变量的内容(值)
java没有什么值传递引用传递,都是传递对象引用,你可以理解为统统是值传递。
不过如果是对象,这个值的含义是引用,你修改引用不会对实参有影响,但是你修改这个对象的成员,因为是同一个对象,所以会作用到原来的对象上。
C#才分为引用和值传递。C#的引用的引用允许你在函数中将对象指向另一个对象,并且反应到实参上。