如下小程序,在方法f中定义了一个数组元素,在执行了该方法的时候以及方法结束后,这些元素都被放在了什么地方了?在执行方法g后,看起来原数组(main方法中的数组a)并没有被修改,方法g中的数组元素在方法结束后就被清除了吗?两个方法中定义的数组元素的存活(内存)问题有啥区别呢
public class First{
public static void main(String[] args) {
int[][] a={{1,2},{3,4},{5,6}};
a=f(a);
for(int[] i:a){
System.out.println(i[0]);
}
g(a);
System.out.println("...分割线...");
for(int[] i:a){
System.out.println(i[0]);
}
}
public static int[][] f(int[][] a){
int[][] b={{11,21},{31,41},{51,61}};
return b;
}
public static void g(int[][] a){
int[][] b={{111,211},{311,411},{511,611}};
a=b;
}
}