giovedì 4 aprile 2013

costruttori

costruttori

Un costruttore ha lo stesso nome della classe in cui è dichiarato ed è case sensitive.

Il codice per usare un costruttore è
          MiaClasse mc;          // dichiarazione
          mc = new MiaClasse();  // istanza

oppure
          MiaClasse mc = new MiaClasse(); //dichiarazione e istanza

Il nome dell’oggetto creato (mc nell’esempio) è un reference (riferimento).

Il costruttore è un metodo ma non è ordinario perché non dichiara tipo di ritorno.

L’unico modo per chiamare un costruttore è tramite la parola new.

Quindi questo codice compila ed esegue il blocco del codice del costruttore anche se non ha senso pratico:
          new MiaClasse();

Come gli altri metodi può avere dei parametri:
MiaClasse(int i, String s) {}

Quando creiamo un oggetto dopo l’istanza c’è sempre una chiamata ad un costruttore. Se il costruttore non è fornito in modo esplicito JAVA in automatico utilizza un costruttore nascosto chiamato costruttore di default. Esso non ha parametri.

Un costruttore senza parametri esplicitamente fornito non è un costruttore di deafult.

Se si fornisce un costruttore esplicito il costruttore di default non viene creato e quindi non è utilizzabile.
Questo codice compila perché c’è il costruttore di default :
class MiaClasse {
       public static void main(String[] args) {
             new MiaClasse();
       }
}

Questo codice non compila perché adesso il costruttore di default non c’è :
class MiaClasse {
       MiaClasse(int i, String s) {}
       public static void main(String[] args) {
             new MiaClasse();
       }
}

Quindi con un costruttore con parametri si deve fare una istanza passando i parametri richiesti al costruttore :

class MiaClasse {
       MiaClasse(int i, String s) {}
       public static void main(String[] args) {
             new MiaClasse(14,"pippo");
       }
}

 

 

Nessun commento:

Posta un commento