静态变量在准备阶段赋默认零值,在初始化阶段赋用户值,静态代码块在初始化阶段执行
public class StaticBlockDemo { static int a = 2; static { // 如果在准备阶段,则a = 0; // 如果在初始化阶段, a = 2; System.out.println(a); } public static void main(String[] args) { } }
静态变量在准备阶段赋默认零值,在初始化阶段赋用户值,静态代码块在初始化阶段执行
public class StaticBlockDemo { static int a = 2; static { // 如果在准备阶段,则a = 0; // 如果在初始化阶段, a = 2; System.out.println(a); } public static void main(String[] args) { } }