JAVA:有关构造器与代码块的关系的问题

无继承关系(即在一个类中时),执行顺序为静态代码块->普通代码块->构造器
有继承关系(即有父子类),执行顺序为父静态,子静态->父普通,父构造->子普通,子构造

意思是:有继承关系的时候,普通代码块的优先级不高于构造器,而是在构造器内调用吗?
为什么说子类的构造器里的super()调用后,先实现普通代码块呢?

不太明白,你说这几个加起来没有执行的关联性,如果你说的是在对象初始化时,代码执行的优先级:

  • 那一般是子类调用构造器,然后默认会调用父类无参构造器(super()),接着就是调用子类构造器的剩余方法。

你要是说的类文件加载的顺序的话,一般是:静态变量,静态方法,父类,父类方法,子类,子类方法