Creazione array di oggetti

Consideriamo una classe dotata di un costruttore personalizzato.

Ad esempio:

class Punto{

double x; double y;

Punto(double xVI, double yVI){

// questo costruttore permette di assegnare dei valori iniziali all'oggetto di classe Punto che creeremo

x = xVI; y = yVI;}

}

supponiamo di voler creare un array chiamato vertice costituito da oggetti di classe Punto:

dovremo scrivere

Punto[] vertice;

vertice = new Punto[4];

PUNTO[4] NON E' IL COSTRUTTORE DELLA CLASSE PUNTO: E' UN COSTRUTTORE PER L'ARRAY DI TIPO OGGETTO 

in effetti si potrebbe pensare di avere creato i quattro elementi a tutti gli effetti, ma le cose non stanno così:

ad ogni elemento dell'array deve essere associato un punto creato appositamente:

vertice[0] = new Punto(0.1, 3.7);

vertice[1] = new Punto(1.1, 3.7);

vertice[2] = new Punto(3.1, 3.7);

vertice[3] = new Punto(5.1, 3.7);

a questo punto gli oggetti esistono e possono essere utilizzati ad esempio se intendessimo stampare l'ascissa di vertice[0]

System.out.println(vertice[0].x);