子类在构造器加载时会通过super关键字一层层的调用父类的构造器,导致父类构造器一定在子类的构造器之前加载。但是子类的静态代码块在构造器之前加载,所以并没有使用构造器内的super,那为什么还是父类的静态代码块比子类的静态代码块先加载,而不是加载完子类的静态代码块后加载构造器通过super关键字向上加载直接父类的静态代码块,再通过直接父类的构造器加载间接父类的静态代码块,以此类推。是因为类的加载是从父类开始的吗?
对的,是因为类的加载是从父类开始的
这是固定的执行顺序,父类静态->子类静态->父类方法->子类方法,大概是这样