riformulo la domanda..le stampe che ottengo sono :

static A.x1
static E.x2
invocazione di E()
non static E.k
k = 9

ma mi sarei aspettato una output di questo tipo:

static A.x1
static E.x2
invocazione di E()
i = 4, j = 0 <----------------------------
non static E.k
k = 9

vorrei sapere perche la stampa di "i = 4, j = 0" non esce in output.
ho provato ad aggiungere un "system.out.print("debug");" all interno del costruttore di A() ma non me lo scrive in output..quindi mi viene da pensare che non entro mai nel costruttore di A().
se non mi sbaglio quando creo un oggetto derivato creo anche i campi dati della super classe quindi per farlo devo passare anche attraverso il costruttore della superclasse..
spero di essermi spiegato.ringrazio nuovamente per le risposte repentine.