Essendo abstract, non potrai mai creare istanze proprio di Persona1. Ovvero, new Persona1( .... , .... ); non è possibile.
Questo dove lo usi? Mi sembra corretto comunque, poiché Genitore è-un Persona1, quindi è assegnabile a 'p'.
Il problema non è il get .... sono 2 i problemi:
- Nel corpo del for viene dichiarata una variabile 't' quando a livello del metodo c'è già una variabile 't'. Questo è illegale ... NON compila proprio.
- Anche se cambiassi qualcosina, la stringa "il nome dei figli della persona sono" non la dovresti ripetere. Essendo nel for .... non ha molto senso.
Iterator è una interfaccia, descrive solo in modo astratto i metodi che ci devono essere per poter iterare e cioè enumerare "qualcosa".
Chiunque può implementarla/usarla, anche in contesti differenti più lontani dal Collections Framework.