Diferença entre declarar como final ou não

senhores é verdade que se declararmos uma variável como final o processo de execução será mais rápido por ser uma constante ?

digo…vc’s tem o costume de escrever muito final para qualquer coisa ?

por exemplo

final String idade = 15 (evidentemente ela não será alterada mais…)

if ( idade < 18 )
print “vai durmir!”

Oi,

Utilizo final quando não quero que minha variável sofra alterações, tornando ela uma constante…
Porém o modificador final pode ser utilizado em classes, variáveis e métodos. Claro que para cada utilização existe um significado.

Bom, resumindo: “variáveis marcadas com final não poder sofrer alterações. Classes marcadas como final não podem ter classes derivadas. Métodos marcados como final não podem ser sobrescritos.”

Existe rumores que a compilação ficará mais rápida, porém isso não sei dizer!

Tchauzin!

Sim, usar final pode render ganhos de desempenho. Para o caso de constantes literais, o compilador tem liberdade para gerar um valor “chumbado” no bytecode. E, quando o valor da variável declarada como final vier de outra variável, a máquina virtual tem liberdade para fazer cache daquela variável (já que o valor que ela contém não vai mudar).

Oi.

Jamais, nunca, never, use a palavra final para “otimizar” código. Embora efetivamente possa haver algum ganho de desempenho, ele é mínimo. Use-o para declarar constantes.

Você pode ler mais detalhes sobre esse assunto aqui: Brian Goetz - Is that your final answer?.

Veja também o artigo dele sobre lendas urbanas aqui, em especial a segunda lenda.

bem, acho que isso então deixa de ser um rumor…

valeu, vou pesquisar mais sobre o assunto, porque… :slight_smile:

[quote=ViniGodoy]Oi.

Jamais, nunca, never, use a palavra final para “otimizar” código. Embora efetivamente possa haver algum ganho de desempenho, ele é mínimo. Use-o para declarar constantes.

Você pode ler mais detalhes sobre esse assunto aqui: Brian Goetz - Is that your final answer?.

Veja também o artigo dele sobre lendas urbanas aqui, em especial a segunda lenda.
[/quote]

:lol: ahhaah… valeu cara, vou dar uma olhada nisso também…

Dá uma lida aqui: http://www.guj.com.br/posts/list/15/31346.java#989991