В настоящее время я готовлю S (O) CJP с книгой Sierra & Bates.
Что касается внутренних классов (метод локальный или анонимный), они говорят, что мы не можем получить доступ к локальным переменным, потому чтоони живут в стеке, в то время как класс живет в куче и могут быть возвращены методом, а затем пытаются получить доступ к этим переменным, которые находятся в стеке, но больше не существуют, так как метод завершился ...
Как мы все знаем, мы можем обойти это, используя ключевое слово final.Это то, что они говорят в книге, но они на самом деле не объясняют, каково действие этого ключевого слова final ... Насколько я знаю, использование последнего ключевого слова в локальной переменной метода не позволяет ему жить в куче... Так как же класс сможет получить доступ к конечной переменной, которая все еще живет в стеке, в то время как в стеке больше не может быть ???
Полагаю, должна быть какая-то "копия" этого финалалокальная переменная внутри внутреннего класса.Поскольку значение не может измениться, почему бы не дублировать эту информацию ... Может кто-то подтвердить это или сказать мне, если я что-то упустил?