一、如果使用省略格式定义数组,就不能拆分成两个步骤。
int[] arrayA;
arryA = new int[] {1,2,3,4}; //---静态分配分两步,OK
(
静态初始化成员可以为变量,
比如:
int a = 10;
int[] arrayA = new int[] {1,a,2};
)
int[] arrayB;
arryB = new int[4]; //---动态分配分两步,OK
int[] arrayC;
arrayC = {1,2,3,4}; //---省略分配不能分两步,FAIL
二、动态初始化默认值问题
如果使用的是整数类型,默认值为0;
如果使用的是浮点类型,默认值为0.0;
如果使用的是字符类型,默认值为‘\u0000’(打印不会显示);
如果使用的是boolean类型,默认值为false;
如果使用的是引用类型,默认值为null;
三、静态初始化默认值问题
静态初始化也有默认值问题,只是系统自动的赋值为大括号中的具体数值。
四、数组方法的参数返回值时,传递的其实是地址值。