静态初始化块对静态变量的访问问题。代码如下
public class ty {
static {
a=1;
System.out.println(a); //a出现错误:“在定义字段之前不能引用该字段”. 但是将a换成ty.a无错误,者
//将这个静态初始化块放在 static int a=0后面也可以。
}
static void dwt2() {
System.out.println(a);
}
static int a=0;
}那位大虾指点下,在此先行谢过
public class ty {
static {
a=1;
System.out.println(a); //a出现错误:“在定义字段之前不能引用该字段”. 但是将a换成ty.a无错误,者
//将这个静态初始化块放在 static int a=0后面也可以。
}
static void dwt2() {
System.out.println(a);
}
static int a=0;
}那位大虾指点下,在此先行谢过
子类的静态变量和静态初始化块是在父类的变量,初始化块和构造器初始化之前完成
父类的变量初始化块构造器是在子类的变量初始化构造器之前完成
静态变量和静态初始化块的初始化顺序取决于在类中顺序,同变量和初始化块