Wie implementiert Java innere Klassenschließungen?

In Java kann eine anonyme innere Klasse auf Variablen in ihrem lokalen Bereich verweisen:

public class A {
    public void method() {
        final int i = 0;

        doStuff(new Action() {
            public void doAction() {
                Console.printf(i);   // or whatever
            }
        });
    }
}

Meine Frage ist, wie dies tatsächlich umgesetzt wird? Wie funktionierti zum anonymen innerendoAction Implementierung, und warum muss es seinfinal?

Antworten auf die Frage(6)

Ihre Antwort auf die Frage