为什么这个直接打印a会出现超前访问呢?类加载的第二阶段不是已经默认初始化a并为其分配空间了吗

img

为什么这个直接打印a会出现超前访问呢?类加载的第二阶段不是已经默认初始化a并为其分配空间了吗,然后这个打印这个为什么会出现超前访问的错误呢?static代码块在类加载的第三阶段进行加载,不应该可以输出结果0嘛

a还没被定义,所以会报错。 静态代码块和静态变量 是根据代码编写的顺序来执行的