在引用方法时,存在着值传递和地址引用,下面我带大家去看看吧⑧
地址引用:
package zzxt;
public class Quote {
public void change(int [] a) {
a[0]=10;
}
public static void main(String[] args) {
int [] a=new int[3];
System.out.println(a);
for (int i : a) {
System.err.println(i);
}
new Quote().change(a);
for (int i : a) {
System.out.println(i);
}
}
}
如图所示:
我将定义的数组的名字给输出,还将该数组在被方法chang(int [] a) 前后的数组状况进行foreach输出;结果如下:
可以看出,数组名是一个地址、且在被调用时涉及到地址的传递;(详细的部分读者可以参考栈与堆的知识)
类似的还有类对象的创建;
二、值传递
package zzxt;
public class Quote {
public void change(int a) {
a=10;
}
public static void main(String[] args) {
int a=0;
new Quote().change(a);
System.out.println(a);
}
}
如图所示:当在主函数中change(a)进行调用时,仅仅是形参的单向传导,与主函数中的变量a无关
即:输出结果为:0