Quando istanzi un array con
Questo istanzia solo l'array in sé (che è un oggetto). Ma non istanzia in automatico gli oggetti contenuti (nel tuo caso 3 oggetti Uomo). Questi li devi istanziare tu!codice:Uomo [] employees = new Uomo[3];
Quando istanzi un array con
Questo istanzia solo l'array in sé (che è un oggetto). Ma non istanzia in automatico gli oggetti contenuti (nel tuo caso 3 oggetti Uomo). Questi li devi istanziare tu!codice:Uomo [] employees = new Uomo[3];
Andrea, Senior Java developer – SCJP 5 (91%) • SCWCD 5 (94%)
Java Versions Cheat Sheet
All'interno della classe Ufficio, dove tu crei l'array, le variabili luca,giorgio, etc. non sono definite, quindi riceveresti un errore in compilazione.
A me pare piuttosto strano che tu debba definire i quattro oggetti di tipo Uomo all'interno della stessa classe Uomo, la cosa di solito viene evitata.
E' molto più sensato avere all'interno di Uomo un costruttore così definito:
E perciò nella classe Ufficio ti basterebbe fare:codice:public Uomo(String name){ this.name=name; }
Ovviamente nel costruttore di Uomo, se segui questo approccio, puoi passare tutte le informazioni che vuoicodice:employees[0]=new Uomo("Luca");
Per così poco
A meno che non fosse nella consegna allora io ti consiglierei di togliere quei quattro oggetti Uomo che definisci nella stessa classe.
Poi scegli quali parametri passare al costruttore di Uomo , potresti aggiungere surname e anche age (se nel tuo contesto ha senso che un uomo venga "creato" con un'età, ad esempio per l'azienda l'Uomo potrebbe "iniziare ad esistere" solo quando comincia a lavorare o invia il curriculum).
Poi ti consiglierei di mantenere anche la variabile sex come private, quindi dovresti aggiungere anche un metodo getSex all'interno di uomo. E se il sesso non può cambiare (visto che la classe è chiamata Uomo ha abbastanza senso che non cambi), eviti di inserire il metodo setSex, e il campo sex potrebbe essere dichiarato final.
Sono tutte questioni di logica più che di programmazione, ma si cerca sempre di mantenere i due aspetti il più possibile legati