Hay muchas ventajas, aunque algunas de ellas son realmente personales o de preferencia de diseño.
1 - con clases internas puede acceder a miembros privados de la clase adjunta.
2: son útiles para implementaciones de interfaz que solo son utilizadas por la clase adjunta (controladores de eventos en una aplicación)
3: son útiles para proporcionar acceso detallado y control de creación sobre una implementación de interfaz que se recupera externamente (tal vez algo así como un iterador implementación)
Para obtener más información, obtenga ayuda en CodeAvail- Ayuda de asignación de ciencias de la computación en línea