Domanda semplice. Un amico della mente ha scritto il codice simile a questo (che è solo per spiegare la mia domanda, non è utile a tutti ....)Convenzione in java - "nuovo" al di fuori del costruttore/metodo?
class Example{
private int[] tab = new int[10];
public Example() {
for(int i = 0 ; i < 10 ; i++)
tab[i] = (int)(Math.random()*100);
for(int i = 0 ; i < 10 ; i++)
System.out.println(tab[i]);
}
public static void main(String[] arg) {
Example ex = new Example();
}
}
Gli ho detto che dovrebbe mettere la new
all'interno del costruttore
Quando mi chiede perché, non so cosa rispondere: non ho avuto un argomento preciso se non "è meglio così". Per come lo imparo, puoi inizializzare le variabili con tipi di base (int, double ...) ma per gli array dovresti farlo nel costruttore.
Quindi:
- è davvero meglio?
- Ci sono dei buoni motivi: convenzione, stile?
- Cambia qualcosa come meno/più memoria utilizzata?
Non sto considerando il caso in cui il numero di elementi può variare. Sarà SEMPRE 10
Con più costruttori è ancora possibile utilizzare la parola chiave this() in un altro costruttore per chiamare uno esistente. – Koekiebox
@Koekiebox - sì, se aiuta. Nel mio esempio non sarebbe d'aiuto. –
capito! La mia conoscenza di java è molto bacica ed è stata qualcosa che mi è stata insegnata qualche tempo fa durante un breve progetto. L'ho accettato come un dato di fatto ma la domanda è stata sollevata oggi, mentre sputavo con il mio amico. –