PDA

View Full Version : [java] Domanda semplice semplice sui costruttori non di default


-Ivan-
03-11-2009, 14:57
Mi sono reso conto ora che faccio esercizi che non ho capito quando e come vengono chiamati i costruttori non di default delle classi.
Esempio

class Rana implements Anfibio
{
String nome="Pippo";
public void cammina(){System.out.println("La rana sta camminando!");}
public void nuota(){System.out.println("La rana sta nuotando!");}
Rana(){System.out.println("L'anfibio creato è una rana!");}
Rana(String nome){System.out.println("La rana creata si chiama " + nome);}
}


Quando l'oggetto viene creato c'è la chiamata implicita al costruttore di default ma non quella al costruttore non di default.
Se metto dentro al costruttore di default la chiamata a Rana(nome); da errore, nel main non si può fare la chiamata, dunque dove e quando si usano i costruttori non di default?
Grazie ma sui libri spiega tanto bene cosa sono ma non ho un esempio di utilizzo chiaro.

wizard1993
03-11-2009, 15:15
Rana rana=new Rana("pippo");

Mesh89
03-11-2009, 15:25
Che errore ti da? Puoi postare il main?

Questo codice

class Rana {
String nome = "Pippo";

Rana() {
System.out.println("L'anfibio creato è una rana!");
}
Rana(String nome) {
System.out.println("La rana creata si chiama " + nome);
}

public void cammina() {
System.out.println("La rana sta camminando!");
}

public void nuota() {
System.out.println("La rana sta nuotando!");
}

public static void main(String[] args) {
Rana rana = new Rana("Matteo");
}
}

a me funziona.