Se puede declarar dentro de clases otras clases. Sin embargo, dichas clases no pueden tener miembros estáticos no-finales.
Todos los miembros de la clase alrededor están visibles desde la clase ínterior (diferencia a C++ donde hay que declarar la clase ínterior como friend para obtener dicho efecto).
Extender clases ínteriores se hace igual como clases normales; solamente hay que tener en cuenta que para una clase ínterior siempre hace falta la existencia de un objeto de su clase alrededor antes de que se pueda construir, es decir, tiene que ser claro de dónde viene su super.