Eso ya es otra cosa.
Para hacer ciertas cosas con las clases internas sí se necesita que las variables sean final (acceder a variables locales de la clase contenedora).
En mi opinión, las clases internas responden más a conceptos teóricos y prácticas de buena programación que a utilidad, creo que se puede programar perfectamente sin utilizarlas, de hecho yo no suelo hacerlo. Tengo que decir que los ejemplos más claros de uso que he visto estaban relacionados con temas de eventos, y como yo con aplicaciones de escritorio no he tratado, pues mi opinión no tiene mucho fundamento.
http://docs.oracle.com/javase/tutori...l#innerClasses Cita: public void llenaDatosCoche(String modelo, String matricula, String color) { // Aqui, si está el objeto vacio lo lleno.
CrearObjetoCoche.this.modelo = "Renault ";
CrearObjetoCoche.this.matricula = "1400BWN ";
CrearObjetoCoche.this.color = "Verde ";
return modelo + color + matricula; // ¿este return me volverá a la llamada getDatosCoche(modelo,color, matricula)?
}
¿Cómo esperas que un método con void devuelva algo?
Del resto del código, veo tantas cosas extrañas que lo extraño sería que funcionase.