Recientemente, me encontré con un misterioso problema en un proyecto de Android, que describí here. De alguna manera resolví el problema, pero todavía no sé la razón exacta detrás de él.Java: llamando al método de la clase externa en la clase interna anónima
Digamos que quiero llamar a una función foo() en la clase interna. La pregunta es, ¿cuál es la diferencia entre llamar directamente como
foo();
o llamándola con la instancia de la clase externa
OuterClass.this.foo();
Además, apreciaré si alguien puede comprobar mi última question relacionado con esto, y dame una pista sobre por qué ocurre el error. Muchas gracias.
PD: He leído en alguna parte que la clase interna no estática siempre tendrá una instancia de la clase externa. Entonces llamará a la función externa usando esa instancia si solo uso foo()?
Thx. Pero estoy seguro de que la clase interna no tiene una función con el mismo nombre en mi caso. ¿Hay alguna otra diferencia específica excepto la parte explícita? – Selkie
No en este contexto. Miré su pregunta de fuentes y el hecho de que el cambio que hizo resuelto es inexplicable. Eso no debería haberlo afectado en absoluto. Hacer esto es simplemente para aclarar cualquier ambigüedad en lo que se refiere ... –
tienes razón. Cometí un error allí. ¡Gracias por la iluminación! – Selkie