В Java анонимный внутренний класс может ссылаться на переменные в нем локальной области:
public class A {
public void method() {
final int i = 0;
doStuff(new Action() {
public void doAction() {
Console.printf(i); // or whatever
}
});
}
}
Мой вопрос в том, как это реально реализовано? Как i получить анонимную внутреннюю реализацию doAction и почему она должна быть final?