Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / final-переменные внутри методов: сохраняются ли они после завершения "своих" методов ? / 3 сообщений из 3, страница 1 из 1
23.06.2013, 22:55:31
    #38307628
ozzmosis
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
final-переменные внутри методов: сохраняются ли они после завершения "своих" методов ?
Здрасте.

Читаю ководство по SCJP, страница 709. Вижу вполне понятное объяснение, почему локальный класс (объявленный внутри метода) не может обращаться к локальным переменным этого метода: по завершении этого метода все его переменные теряют область видимости и будут выкинуты из стека. Но дальше фраза: "Unless the local variables are marked final".
Что меняет объявление локальной переменной как final ? Она что, будет сидеть в стеке после завершения метода ? Или такое будет только для переменных, упоминаемых внутри локального класса, объявленного в этом методе ?
...
Рейтинг: 0 / 0
23.06.2013, 23:00:35
    #38307633
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
final-переменные внутри методов: сохраняются ли они после завершения "своих" методов ?
Локальные final переменные, которые используются во вложеных классах становятся синтетическими полями внутренних классов. Таким образом final гарнтирует, что далее во внешнем методе значение не изменится, поэтому то что оно скопировано куда-то в поле - не страшно.
...
Рейтинг: 0 / 0
23.06.2013, 23:06:22
    #38307635
ozzmosis
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
final-переменные внутри методов: сохраняются ли они после завершения "своих" методов ?
Blazkowicz,

ясно, спс!

ЗЫ. Классная книга. Если читать без спешки, понятно практически всё. Иногда только "недомолвки" типа этой встречаются, а в остальном - просто супер. И может, оно и к лучшему, что её не переводили на рус.яз.: стопудово искорёжили бы смысл где-нибудь.
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / final-переменные внутри методов: сохраняются ли они после завершения "своих" методов ? / 3 сообщений из 3, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]