Luca
2003-12-14 09:54:49 UTC
Scusate, ho un dubbio grossissimo. Se ho una classe di questo tipo:
public class Classe
{
public int a;
public int b;
}
e scrivo in un'altra:
Classe oggetto = new Classe();
ho l'invocazione di un costruttore predefinito vero? Quindi avrò tutte
le variabili a 0 o false e gli oggetti a null.
Ma se faccio:
Classe[] oggetti = new Classe[10];
non ho l'invocazione di alcun costruttore giusto? Difatti tutte le
variabili oggetto dell'array oggetti sono a null giusto?
Quindi, se volessi chiamare un costruttore (o predefinito oppure uno di
quelli eventualmente presenti nella classe) dovrei fare un ciclo di
questo tipo:
for (int i = 0; i < 10; i++)
{
oggetti[i] = new Classe(parametri);
}
in questo modo sarei a posto? L'ho provato e funziona, ma pensavo che:
Classe[] oggetti = new Classe[10];
invocasse un costruttore. Quando mi sono visto NullPointerException non
ci ho capito più molto di questa istruzione.
Grazie per ogni chiarimento.
Luca
public class Classe
{
public int a;
public int b;
}
e scrivo in un'altra:
Classe oggetto = new Classe();
ho l'invocazione di un costruttore predefinito vero? Quindi avrò tutte
le variabili a 0 o false e gli oggetti a null.
Ma se faccio:
Classe[] oggetti = new Classe[10];
non ho l'invocazione di alcun costruttore giusto? Difatti tutte le
variabili oggetto dell'array oggetti sono a null giusto?
Quindi, se volessi chiamare un costruttore (o predefinito oppure uno di
quelli eventualmente presenti nella classe) dovrei fare un ciclo di
questo tipo:
for (int i = 0; i < 10; i++)
{
oggetti[i] = new Classe(parametri);
}
in questo modo sarei a posto? L'ho provato e funziona, ma pensavo che:
Classe[] oggetti = new Classe[10];
invocasse un costruttore. Quando mi sono visto NullPointerException non
ci ho capito più molto di questa istruzione.
Grazie per ogni chiarimento.
Luca