dúvida sobre final

tava lendo o livro de certificação de SCJP da kathy sierra, ai surgiu a seguinte duvida no capitulo 8, sobre o q que uma variavel final.

na pag 353 o livro fala basicamente q uma variavel de instancia pode ser referenciada no metodo da classe interna, mas 1 variavel local do metodo onde está a classe interna não pode ser referenciada na classe interna(já q o metodo depois de executado morre, e junto a variavel), a menos q ela seja marcada com final. Alguem sabe q mágica o final faz?

Pra mim que a variavel final apenas manteria o valor para que não seja alterado deixando ele fixo, agora disso que vc falow não sabia, alguem pode explicar melhor to curioso tb.

Falow

Em java para definir uma constant marca-se a variável ou atributo desejado com o modificador final.

Você quer saber o funcionamento da maquina virtual para diferenciar e enchergar as variaveis finais?

eu tb tenho essa duvida… mais assim se ela falou q tem q ser final… nao quis me preocupar em saber pq com final funciona… eheh :smiley:

leia com atenção o parágrafo que vc vai entender.

se a variavel nao for final, pode ocorrer de uma referencia a classe interna ainda existir, mas a variavel nao ( já que a variavel possui escopo de método ). Por isso uma classe interna no metodo nao pode acessar variaveis declaradas dentro desse método.

A menos, como ela explica, que a variável seja marcada como final

po eh verdade a variavel sem o final… serao destruidas apos o metodo concluir… :D.
So uma perguntinha fabiocsi anda com livro embaixo do braço eh? rs uhaahu

[quote=LPJava]po eh verdade a variavel sem o final… serao destruidas apos o metodo concluir… :D.
So uma perguntinha fabiocsi anda com livro embaixo do braço eh? rs uhaahu[/quote]

nops… acontece que como eu ja codifico em java hà algum tempo, muitas coisas que ela explica no livro esclarece dificuldades que eu tinha no codigo… entao fica mais facil de entender.

mas tem gente que prefere fazer o contrário, tirar certificação primeiro pra depois aprender java :lol:

Eu concordo com o fabio, quando a gente programa em Java um certo tempo e coemça a estudar para a certificação, a gente vê que tem um monte de detalhes que a gente não sabia nem que existiam, outros que faziamos “errado”, e algumas coisas que faziamos e não sabiamos o porque, ficam claras.

Vale a pena estudar para a certificação.

com certeza, mas tambem tem muita coisas que vemos no estudo que dificilmente usamos no dia-a-dia =/ por isso a melhor pedida é trampo+certificação… :stuck_out_tongue: Tirar certificação sem ter um pouco de experiencia com java é bem complicado :stuck_out_tongue:
Abraços

Ela n explica apenas ela diz p gente engolir. pq do mesmo jeito, sendo a váriavel local era p morrer junto com o metodo. e ela fala mas n explica, q sendo final é como se ela n morresse.

Nosferatu,

É verdade, tem coisas que dificilmente usaremos um dia.

:slight_smile:

Cara, eu acho q sua dúvida pode ser explicada melhor aqui:
http://www.guj.com.br/posts/list/62558.java

Tbm estava com está dúvida…é normal!.