Java方法中的参数传递都是值传递,唯一区分的是基本数据类型值传递和引用类型的传递。
Java把内存分成两种,一种叫做栈内存,一种叫做堆内存。
在函数中定义的一些基本类型的变量和对象的引用变量都是在函数的栈内存中分配。
因此,不管方法体里如何更改参数,都是只是修改参数的副本。
唯一的区别是如果是引用类型传递,可以间接的修改引用类型实际内容的值来达到修改对象的属性的目的。
参考:
https://www.jianshu.com/p/8ad00f5b06be
https://www.cnblogs.com/whgw/archive/2011/09/29/2194997.html
网友评论