Java: вызов метода внешнего класса в анонимном внутреннем классе
Недавно я столкнулся с загадочной проблемой в проекте Android, которую я описалВот, Я как-то решил проблему, но до сих пор не знаю точной причины этого.
Допустим, я хочу вызвать функцию foo () во внутреннем классе. Вопрос в том, в чем разница между непосредственным
foo();
или вызывая его с экземпляром внешнего класса
OuterClass.this.foo();
Кроме того, я буду признателен, если кто-нибудь может проверить мой последнийвопрос связано с этим, и дать мне подсказку о том, почему возникает ошибка. Большое спасибо.
PS: я где-то читал, что нестатический внутренний класс всегда будет содержать экземпляр внешнего класса. Так что он будет вызывать внешнюю функцию, используя этот экземпляр, если я использую только foo ()?