java方法改变变量问题

2019-01-02 21:02发布

问题:

代码如下

结果如下:

整型或对象无法通过方法改变值,而数组可以通过方法改变。(函数不返回)

回答1:

产生此现象的原因是因为传入函数的值是分值(基本)类型引用类型的。
值类型传递进函数的是一个值的拷贝(副本),改变副本的值并不改变其本身。
而引用类型传递进参数的是一个地址,这个地址中存储的就是该参数的值,将此地址的值更改之后,原来的值必然也受影响。
想知道哪些可以被改变,哪些不能被改变,就要分清楚该类型是值类型还是引用类型
对象也是属于引用类型的。下图是一些常见的归类。

一个小tips:一般需要进行new操作的都是引用类型。



回答2:

number 是在主方法中定义,没有传进去,你把int number 改成 number 就可以变了



标签: