Non ho capito una cosa.
Suppongo di avere la classe Rettangolo, la quale ha due costruttori compreso quello di default
public class Rettangolo {
private int base;
private int altezza;
public Rettangolo(int b,int h)
{
base=b;
altezza=h;
}
public Rettangolo()
{
}*/
Suppongo di creare Rombo,sottoclasse di Rettangolo
public class Rombo extends Rettangolo {}
In rombo non c'è nessun costruttore.
Se creo un oggetto Rombo r verrà invocato il costruttore VUOTO della superclasse che è presente.
Suppongo ora di cancellare il costruttore vuoto della superclasse Rettangolo e di creare un costruttore nella classe Rombo
public class Rombo extends Rettangolo {
public Rombo(){}
}
Il costruttore di Rettangolo è inibito, ma Rombo ha un suo costruttore.
Perchè se ora tento di creare un oggetto Rombo mi da errore?
Sembra vada sempre a cercare il costruttore della superclasse, nonostante Rombo abbia il suo costruttore vuoto.
Non ho capito perchè accade ciò. E' un meccanismo dell'ereditarietà?