Originariamente inviato da Ed_Bunker
Si, anche se generalmente si fa il contrario.
Ovvero... un costruttore richiama un costruttore con un minor numero di parametri (O implicitamente quello di default o quello dell'eventuale superclasse) e poi effettua altre inizializzazioni.
Anziche' richiamare il costruttore trovo piu' corretto e forse anche piu' efficiente inizializzare direttamente la variabile.
Non mi risulta che, solitamente, facciano il contrario... è più facile trovare un costruttore con pochi parametri che ne richiama uno più specifico, passandogli dei valori di default...
Esempio:
codice:
public FileOutputStream(String name) throws FileNotFoundException {
this(name != null ? new File(name) : null, false);
}
...
public FileOutputStream(String name, boolean append) {
...
}
In ogni caso, ci sono alcune cose da tenere presente, sia riguardo i metodi, che i costruttori.
La pratica di avere più metodi con lo stesso nome si chiama overloading: sottoporre un metodo (o un costruttore) ad overload, significa variarne il numero o il tipo di parametri, mantenendo lo stesso nome.
Per i costruttori, il metodo con cui se ne richiama un secondo è quello indicato dall'esempio precedente: si usa la parola chiave this, seguita dai parametri tra parentesi.
Ciao.