Anzitutto i campi della classe non devono essere statici, altrimenti TUTTE le istanze di quella classe avranno gli stessi "valori".
Il costruttore, comunque, è sbagliato ed ha un ciclo inutile:
codice:
for(int i=0;i<interesse.size();i++)
{
this.interesse = interesse;
}
Con questo codice stai assegnando N volte lo stesso arraylist alla stessa variabile.
E' inutile perchè è come voler assegnare 10 volte lo stesso valore alla stessa variabile.
E' sbagliato perchè, inizialmente, l'arraylist è nullo, quindi "interesse.size()" non può essere usato.
Correzione:
codice:
this.interesse = interesse;
Per l'istanziazione, è sempre l'operatore "new" ad istanziare una classe e richiamare il costruttore. L'uso di un ArrayList è piuttosto semplice e visto che hai un ArrayList di String è ancora più semplice:
codice:
interesse = new ArrayList<String>(); // Creo un arraylist che contiene stringhe
interesse.add("Soldi"); // Aggiungo la stringa "Soldi" all'arraylist
interesse.add("Donne"); // Aggiungo la stringa "Donne" all'arraylist
Nel tuo caso, quindi, dovendo passarlo come parametro al costruttore di Utente:
codice:
ArrayList<String> listaInteressi = new ArrayList<String>();
listaInteressi.add("Soldi"); // Aggiungo la stringa "Soldi" all'arraylist
listaInteressi.add("Donne"); // Aggiungo la stringa "Donne" all'arraylist
Utente u = new Utente("Paperone", "De Paperoni", 1957, listaInteressi);
Ciao.