Принято ли в джаве обзывать переменные final-ом?
От: Аноним  
Дата: 11.08.04 06:21
Оценка:
Принято ли писать такое
void f(final Collection x){
   final Date date = new Date(); 
}



Столкнулся с кодом, где дофига вот этих файналов.
Мне всегда казалось, что это C++-ный стиль.
Или я не прав и так пишут многие?
Re: Принято ли в джаве обзывать переменные final-ом?
От: LCR Россия lj://_lcr_
Дата: 11.08.04 07:07
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Принято ли писать такое

А>
А>void f(final Collection x){
А>   final Date date = new Date(); 
А>}
А>



А>Столкнулся с кодом, где дофига вот этих файналов.

А>Мне всегда казалось, что это C++-ный стиль.
А>Или я не прав и так пишут многие?

final здесь означает, что эта переменная — константа, и меняться после инициализации не будет. Помечать так локальные переменные — явное излишество. Гораздо полезнее помечать final поля-константы в классах и интерфейсах:
interface Microsoft
{
  public static final boolean RULEZZ = false;
}

// ... где-нибудь в своём классе
if (Microsoft.RULEZZ)
{
  // что-нибудь сделать с этим :)
}
quicksort =: (($:@(<#[),(=#[),$:@(>#[)) ({~ ?@#)) ^: (1<#)
Re: Принято ли в джаве обзывать переменные final-ом?
От: Lloyd Россия  
Дата: 11.08.04 07:26
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Столкнулся с кодом, где дофига вот этих файналов.

А>Мне всегда казалось, что это C++-ный стиль.
А>Или я не прав и так пишут многие?

Я в jakart-овских проектах в коде такое встречал.
Re[2]: Принято ли в джаве обзывать переменные final-ом?
От: Cider Россия  
Дата: 11.08.04 08:19
Оценка: 3 (2) +1
Здравствуйте, LCR, Вы писали:

LCR>final здесь означает, что эта переменная — константа, и меняться после инициализации не будет. Помечать так локальные переменные — явное излишество. Гораздо полезнее помечать final поля-константы в классах и интерфейсах:


И вовсе не излишество, создатели языка не дураки
Во-первых, константность переменной бывает полезна для разработчика (типа облегчает чтение кода и избавляет иногда от дурацких ошибок).
Во-вторых, объявление агрумента метода или локальной переменной final позволяет обратиться к ней из вложенного (inner и anonimous) класса, путем неявного создания поля в классе.

Cider
Cider
Re: Принято ли в джаве обзывать переменные final-ом?
От: Denis Afonin Эстония  
Дата: 11.08.04 08:26
Оценка:
> Принято ли писать такое
>
> void f(final Collection x){
>    final Date date = new Date(); 
> }
>

>
>
> Столкнулся с кодом, где дофига вот этих файналов.
> Мне всегда казалось, что это C++-ный стиль.
> Или я не прав и так пишут многие?

Можно почитать архивы fido7.ru.java.
Там эта тема часто обсуждалась.

http://groups.google.com/groups?q=final&amp;meta=group%3Dfido7.ru.java
Posted via RSDN NNTP Server 1.9 beta
Re[3]: Принято ли в джаве обзывать переменные final-ом?
От: LCR Россия lj://_lcr_
Дата: 11.08.04 09:03
Оценка:
Здравствуйте, Cider, Вы писали:

C>И вовсе не излишество, создатели языка не дураки

C>Во-первых, константность переменной бывает полезна для разработчика (типа облегчает чтение кода и избавляет иногда от дурацких ошибок).
C>Во-вторых, объявление агрумента метода или локальной переменной final позволяет обратиться к ней из вложенного (inner и anonimous) класса, путем неявного создания поля в классе.

Со вторым положением согласен — вылетело из головы про иннеры.

А вот про первое я при своём мнении — всё же явное излишество.
quicksort =: (($:@(<#[),(=#[),$:@(>#[)) ({~ ?@#)) ^: (1<#)
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.