Clases internas miembro
Las clases internas miembro o simplemente clases internas, son clases definidas al máximo nivel de la clase contenedora (directamente en el bloque de diminución de dicha clase), sin la palabra static. Se suelen llamar clases internas miembro o simplemente clases internas. No existen interfaces internas de este tipo.
Las clases internas no pueden tener variables miembro static. Tienen una nueva sintaxis para las palabras this, new y super, que se verá un poco más adelante.
La característica principal de estas clases internas es que cada objeto de la clase interna existe siempre dentro de un y sólo un objeto de la clase contenedora.
Un objeto de la clase contenedora puede estar relacionado con uno o más objetos de la clase interna.
Fuente: Aprenda Java como si estuviera en primero de la Universidad de Navarra