1.静态对象不调用静态块。
2.静态属性类加载的时候开辟空间,赋默认值。
3.每次创建对象都是类初始化过程。
4.若未调用过静态块,则创建普通对象是先调用静态块,再调用普通代码块,最后才调用构造方法。
5.若static代码有多个,JVM按照它们在类中出现的先后顺序依次执行它们,每个静态代码块只会被执行一次。
发现执行顺序变了,它会先执行静态代码块,再执行st的实体化。
这边,我发现静态代码块与静态成员变量的初始化居然和代码顺序有关
所以不管是静态代码块还是静态成员变量,java都是哪个在前面先执行哪个。