答案是不可以的,编译器是提示Cannot define dimension expressions when an array initializer is provided,因为你定义了长度,说明你已经初始化完了,我想想也是觉得这样不合理的,如果可以两者混合使用的话,那么我定义好了数组的长度后,系统是不是要给它附上默认的初始值,但是你后面又是静态的初始化,指定了特定的值,系统又要为你改变里面的值,这样做系统真累,我也觉得累。当然编译器是不支持两者混合使用的,大家注意了!
public class ArrayDemo3 { public static void main(String[] args) {
int[] a = new int[]{1, 2}; int[] b = new int[4];
System.out.println("length of b:" + b.length);
b = a;
System.out.println("length of b:" + b.length);
}
}