这个问题问的真好,是个点,我都忘了,回去看了看。发现Java中方法中传递参数时,
基本数据类型传递的是数据的值,
引用数据类型传递的是对对象的引用,就是地址值,而不是对象本身。
所以,传参后,y和z都被finall修饰成了常量,所以不能 y++自加 和 z=n再赋值。
你可以看成- public class Test{
- public static void main(String[] args){
- int x=0;
- final int y=1;
- int[] z={2};
- final int[] n={3};
- use(x,y,z,n);
- }
- static void use(final int a,int b, final int[] c,int[] d){
-
- }
- }
复制代码 这样就不容易被迷惑了
|