class outer3 {
private String x = "outer";
void dostuff() {
String z = "9";
class inner3 {
public void f() {
System.out.println("x is " + x + "z=" + z);
}
}
inner3 in = new inner3();
in.f();
}
}
I gelesen, dass Verfahren lokale innere Klasse nicht lokale Mitglieder der Methode können, in der sie declared.But dieser Code auch kompiliert (z lokale Variable obwohl)
I verwendet Javac 1.8.0_65.Is dies eine Änderung in Java oder mache ich einen Fehler?Warum wird dieser innere Klassencode kompiliert?
Sie bitte Ihre Quellen zitieren. –
ich in Kathy Sierra scjp Anleitung lesen, aber es alte Ausgabe (Java 6) –
wird in Java 8 geändert: http://stackoverflow.com/questions/4732544/why-are-only-final-variables-accessible-in- anonymous-Klasse – Tom