Discuss / Java / java中都是值传递

java中都是值传递

Topic source

云外方天

#1 Created at ... [Delete] [Delete and Lock User]

把数组赋值给一个字段(field),其实是把这个数组在内存中的引用地址赋给该字段,即内存中只有一个数组,但同时有两个变量(数组变量和字段变量)指向了它。给一个字段赋值,也是把该值的在内存中的引用地址赋给该字段。

当数组中的元素值变化时,并没有在内存中新建一个数组,没有发生引用地址的变更;而修改字段的值时,是在内存中新开辟了内存空间创建了一个对象(String或int或其他类型的对象),然后更改了字段在内存中指向的引用地址。


  • 1

Reply