Salve a tutti, ho bisogno di una mano con questo esercizio in quanto non riesco a capire perché da errore di compilazione piuttosto che 134.

codice:
class X {
    X(int i) { 
       System.out.print(1);
    } 
}
class Y extends X {     
   Y(){
        super(2);         
       System.out.print(3);
    }     
   Y(int i) { }
}
class Z extends Y {
    Z(int i) {         
      System.out.print(4);
    }     
   Z(double d) {
        this(5);         
       System.out.print(6);
    }
    public static void main(String[] args){         
          new Z(7);
    } 
}
L'esecuzione dovrebbe essere:
instanzio Z(7) quindi chiamo il costruttore Z(int i) che a sua volta chiamerà il costruttore Y() che a sua volta chiamerà X(int i) e di conseguenza, in cascata, l'output dovrebbe essere 134
dove potrebbe essere l'errore?
Grazie in anticipo!