Cannot use non-final local variable 'identifier' from a different method
The compiler detected that a local variable, which was not declared as final, was referenced in a method. This error can occur if an inner class is defined in a local block or method declaration and the inner class attempts to reference a parameter or local variable defined outside of its scope.
The following example illustrates this error:
public class Simple{
void method1(int var1){
class InnerClass{
boolean getVar1(){
return(var1 == 1);
/*error cannot reference local variable of
method from within inner class. */
}
}
}
}