Li esse excelente artigo publicado no blog da Caelum, de autoria de Eric Torti, que trata de classes aninhadas em Java. Embora esse assunto seja extensamente coberto em boas bibliografias sobre a tecnologia, achei esse artigo muito interessante por reforçar a questão do encapsulamento e por usar um exemplo do padrão State que tira proveito de classes aninhadas. Vale a leitura.
http://blog.caelum.com.br/classes-aninhadas-o-que-sao-e-quando-usar/