Который запускается первым? значения по умолчанию для переменных экземпляра или суперконструкторов?

В соответствии с SCJP6 (стр. 507) я обнаружил, что переменным экземпляра назначаются значения по умолчанию до завершения работы конструкторов суперкласса, я попробовал пример в режиме отладки, но я увидел, что суперподрядчик запускается до того, как переменные экземпляра получают свои значения по умолчанию, может кто-нибудь объяснить что для меня?

Пример, который я использовал в случае, если кто-то хочет попробовать это:

package courseExercise;

class test {
    test() {
        System.out.println("Super Constructor run");
    }
}

public class Init extends test {

    private Integer i = 6;
    private int j = 8;

    Init(int x) {
        super();
        System.out.println("1-arg const");
    }

    Init() {
        System.out.println("no-arg const");
    }

    static {
        System.out.println("1st static init");
    }
    public static int d = 10;
    {
        System.out.println("1st instance init");
    }
    {
        System.out.println("2nd instance init");
    }
    static {
        System.out.println("2nd static init");
    }

    public static void main(String[] args) {
        new Init();
        new Init(7);
    }
}

Ответы на вопрос(1)

Ваш ответ на вопрос