Java: вызов метода внешнего класса в анонимном внутреннем классе

Недавно я столкнулся с загадочной проблемой в проекте Android, которую я описалВот, Я как-то решил проблему, но до сих пор не знаю точной причины этого.

Допустим, я хочу вызвать функцию foo () во внутреннем классе. Вопрос в том, в чем разница между непосредственным

foo();

или вызывая его с экземпляром внешнего класса

OuterClass.this.foo();

Кроме того, я буду признателен, если кто-нибудь может проверить мой последнийвопрос связано с этим, и дать мне подсказку о том, почему возникает ошибка. Большое спасибо.

PS: я где-то читал, что нестатический внутренний класс всегда будет содержать экземпляр внешнего класса. Так что он будет вызывать внешнюю функцию, используя этот экземпляр, если я использую только foo ()?

Ответы на вопрос(1)

Ваш ответ на вопрос