日期:2014-05-20  浏览次数:77876 次

static的不懂???
static final int[] a={1,2};
static final int[] b;
static{b=new int[2];b[0]=1;b[1]=2;}
俺不懂啊?有谁能帮俺解决一下的啊?

------解决方案--------------------
static final int[] a={1,2}; //定义一个数组常量a,它的数组元素是a[0]=1,a[1]=2,数组常量a不可变,但数组元素a[?]可变,如改成b[0] = 10

static final int[] b; //定一个一个数组常量b
static{b=new int[2];b[0]=1;b[1]=2;} //静态代码块,b因为是常量,但是上面没有赋值,所以有一次赋值的机会,这样让b指向一个数组长度为2数组对象,同时给该数组对象的元素赋值,b[0]=1,b[1]=2,以后b不可变,但b[?]可变,如改成b[0] = 10



------解决方案--------------------
static final int[] a={1,2}; //定义一个数组常量a,它的数组元素是a[0]=1,a[1]=2,数组常量a不可变,但数组元素a[?]可变,如改成b[0] = 10

static final int[] b; //定一个一个数组常量b
static{b=new int[2];b[0]=1;b[1]=2;} //静态代码块,b因为是常量,但是上面没有赋值,所以有一次赋值的机会,这样让b指向一个数组长度为2数组对象,同时给该数组对象的元素赋值,b[0]=1,b[1]=2,以后b不可变,但b[?]可变,如改成b[0] = 10