
Originariamente inviata da
LeleFT
Primo errore che ho visto: la classe Quadrato estende Rettangolo, ma nel costruttore di Quadrato richiami super(x, y); Peccato che la classe Rettangolo non abbia un costruttore che riceve solo 2 argomenti... Ne ha uno che non riceve argomenti e uno che ne riceve 4. Tu sei obbligato a richiamare uno di questi due.
Se hai una classe Y che estende la classe X allora il costruttore della classe Y dovrà obbligatoriamente richiamare uno dei costruttori della classe X. Se non lo fai tu esplicitamente con una chiamata a super(...), il compilatore tenterà di aggiungere automaticamente una chiamata al costruttore di default ( super(); senza argomenti ). Se la superclasse X ha un costruttore di default, bene, altrimenti avrai un errore in compilazione.
Alla luce di questo, sistema la chiamata a super() della classe Quadrato perchè così com'è non compila proprio.
PS: prima di incollare il codice preso direttamente dal tuo editor, assicurati di aver rimosso tutte le formattazioni di colore: incolla il codice all'interno del blocco note di Windows (o di un qualsiasi editor NEUTRO), poi ricopialo e incollalo nel forum. Come vedi, intervenire dopo è un disastro.
Ciao.
