Java中静态属性初始化的方式有两种:
1.定义时初始化
2.静态代码块中初始化
当两种方式出现在同一个代码中,执行顺序就是代码中出现的先后顺序:
public class Main {
static {
int a = 2;
System.out.println("静态代码块");
}
public static int b = shunXun();
public static int shunXun(){
System.out.println("定义时初始化");
return 2;
}
public static void main(String[] args) { }
}
运行结果:
public class Main {
public static int b = shunXun();
static {
int a = 2;
System.out.println("静态代码块");
}
public static int shunXun(){
System.out.println("定义时初始化");
return 2;
}
public static void main(String[] args) { }
}
运行结果: