bhe direi che le classi interne sono uno strumento abbastanza sofisticato...
di solito vengono usate per raggruppare classi logicamente legate e per regolare la loro visibilita'.
per esempio, sfruttando il fatto che la classe interna ha acceddi diretto a tutti i campi dati della classe esterna, una classe interna privata potrebbe implementare un'interfaccia(o una classe base) e quindi fornire ulteriori funzionalita' alla classe che la ospita.


siceramente mi e' capitato di ricorrere alle classi interne per risolvere problemi un po' complicati....a volte e' piu facile usare una classe che un campo dati