posibles duplicados:
Cannot refer to a non-final variable inside an inner class defined in a different method
Why inner classes require “final” outer instance variables [Java] ?clases Java interiores
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
}
}
}
}
El código anterior funciona bien. Quiero saber por qué el compilador da un error si elimino la palabra clave final de String z. ¿Qué diferencia hace la palabra clave final?