Я читаю об анонимных классах в java, и он говорит, что вы можете обращаться к методам охватывающего класса, но не к локальным переменным. Почему так? Я говорю об этом:
EDIT: старый пример был неправильным, не отражая, что я имел в виду. Это должно быть лучшим примером в соответствии с тем, что оно написано здесь в разделе "Доступ к членам охватывающего класса" http://docs.oracle.com/javase/tutorial/java/javaOO/localclasses.html.
public class MyClass {
public interface SomeInterface{
public void someOtherMethod();
}
public void someMethod(int someLocalVar) {
SomeInterface myClass = new SomeInterface(){
public void someOtherMethod(){
someLocalVar = 0; // This must be final to work
}
}
}
}
Итак, какова проблема этого решения?