Remember bro., The static�s blocks are readen first after the constructors. All the static�s blocks must be readen and next all the constructors will be.
Look this example and the numbers.
class CuerposEstaticos {
public static void main (
String[] args){
B2 b2 = new B2(); //0
}
}
class A1 extends X3 {
A1() {
System.out.println("cA1"); //5
}
static {
System.out.println("sA1"); //2
}
}
class B2 extends A1{
B2() {
System.out.println("cB2");//6
}
static {
System.out.println("sB2"); //3
}
}
class X3 {
X3() {
System.out.println("cX1"); //4
}
static {
System.out.println("sX1"); //1
}
}