关于静态代码块和静态属性哪个先执行
好吧本人,小白一个第一发表,轻喷。。。
突然看到静态代码块和代码块的执行顺序,好奇心静态代码块、静态属性、和属性的执行顺序。。。
public class A {
public static int id = 1;
static {
System.out.println("static id=" + id);
id = 2;
}
public static void main(String[] args) {
System.out.println(id);
}
}
结果:
static id=1
2
从结果不难看出静态属性先执行的
类是在加载初始化的时候,分配内存时就先初始化静态属性了然后静态代码块,然后是属性、代码块、构造方法