5 Stimmen

Innere Java-Klassen

Mögliche Duplikate:
Es kann nicht auf eine nicht-finale Variable innerhalb einer inneren Klasse verwiesen werden, die in einer anderen Methode definiert ist.
Warum benötigen innere Klassen "finale" äußere Instanzvariablen [Java]?

class MyOuter {    

    private String x = "Outer";
    void doStuff(){
           final String z = "local variable";
           class MyInner {
                 public void seeOuter(){
                        System.out.println("Outer x is" + x);
                        System.out.println("Local variable z is" + z); // does
                        // not compile if final keyword from String z is removed
                 }
           }
     }
}

Der obige Code funktioniert gut. Ich möchte wissen, warum der Compiler einen Fehler ausgibt, wenn ich das Schlüsselwort final aus String z entferne.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X