Innere Klasse und lokale Variablen

Warum muss ich einelocal variable wiefinal wenn meinInner class innerhalb der Methode definiert muss es verwenden?

Beispiel:

<code>class MyOuter2 {

private String x = "Outer2";

void doStuff() {
    final String y = "Hello World";

    final class MyInner {

        String z = y;

        public void seeOuter() {
            System.out.println("Outer x is "+x);
            System.out.println("Local variable is "+y);
            MyInner mi = new MyInner();
            mi.seeOuter();
        }
    }
}
</code>

}

Warum der String?y muss eine letzte Konstante sein? Wie wirkt es sich aus?

Antworten auf die Frage(6)

Ihre Antwort auf die Frage