el codigo q me hizo dudar es este :
Código:
]interface InterfaceEjemplo { public void metodoUno(); public void metodoDos(); } class ClaseContenedora { public InterfaceEjemplo metodo(boolean flag) { InterfaceEjemplo i = null; if (flag) { class ClaseInternaLocalUno implements InterfaceEjemplo { public void metodoUno() { System.out.println("ClaseContenedora.ClaseInternaLocalUno.metodoUno()"); } public void metodoDos() { System.out.println("ClaseContenedora.ClaseInternaLocalUno.metodoDos()"); } } i = new ClaseInternaLocalUno(); } else { class ClaseInternaLocalDos implements InterfaceEjemplo { public void metodoUno() { System.out.println("ClaseContenedora.ClaseInternaLocalDos.metodoUno()"); } public void metodoDos() { System.out.println("ClaseContenedora.ClaseInternaLocalDos.metodoDos()"); } } i = new ClaseInternaLocalDos(); } return i; } } public class Main03 { public static void main(String[] args) { ClaseContenedora cc = new ClaseContenedora(); InterfaceEjemplo i = cc.metodo(true); i.metodoUno(); i.metodoDos(); i = cc.metodo(false); i.metodoUno(); i.metodoDos(); } } /* SALIDA: ClaseContenedora.ClaseInternaLocalUno.metodoUno() ClaseContenedora.ClaseInternaLocalUno.metodoDos() ClaseContenedora.ClaseInternaLocalDos.metodoUno() ClaseContenedora.ClaseInternaLocalDos.metodoDos() */
de la pagina q me paso fuzzy
http://javierrguez.wordpress.com/201...ases-internas/