一、二维数组的声明
声明从低维到高维(从左到右)
二维数组就是数组的数组
静态初始化:
int A[][] = {{1,2},{2,3},{3,4,5}};
开辟了一个 A[3][] 的数组
动态初识化:
int a[][] = new int[3][5];
int a[][] = new int[3][]
a[0] = new int[2];
a[1] = new int[4];
a[2] = new int[3];
二、堆栈分配
在栈内存中分配一个变量,指向堆内存的一维数组,一维数组再分配指向后面的第二维;
二维数组的a[][]还是引用类型的,指向具体的其中的内容
三、arraycopy
这个方法是将地址的内存拷贝过来,而不是具体的内容,只是指向同一个对象
public static void arraycopy(母数组, 开始位置, 子数组 , 开始位置, 拷贝长度)