哪两个代码片段正确创建并初始化了一个int元素的静态数组?(选择两个。)
一个。
static final int[] a = { 100,200 };
B.
static final int[] a; static { a=new int[2]; a[0]=100; a[1]=200; }
C。
static final int[] a = new int[2]{ 100,200 };
D.
static final int[] a; static void init() { a = new int[3]; a[0]=100; a[1]=200; }
答案:A,B
在这里即使D看起来是真实的,谁能让我知道为什么D是错误的。
正确答案是1和2(或者用您的符号表示A和B),而且正确的解决方案是:
static final int[] a = new int[]{ 100,200 };
解决方案D不会自动初始化数组,因为运行时会加载该类。它只是定义了一个静态方法(init),您必须在使用数组字段之前调用该方法。