Variáveis finais  XML
Índice dos Fóruns » Certificação Java
Autor Mensagem
tRuNkSnEt
JavaGuru

Membro desde: 16/08/2003 03:16:25
Mensagens: 245
Offline

Iniciei a jornada em busca da certificação!

Me deparei com a seguinte afirmação:

"... mas o que significa ter uma variável final de referência a objeto? Uma variável de referencia marcada como final nunca poderá ser reatribuída para referenciar um objeto diferente. Os dados do objeto, no entendo, poderão ser alterados, mas a variável de referência não. Em outras palavras, você pode usar uma variável de referência final e alterar o objeto atribuido a ela, mas não pode alterar a variável de referência para fazê-la referenciar um objeto dirente. Memorize isso: não ha objetos finais, somente referências finais."

Realmente não intendi, o que isso quer dizer na prática?? Alguem tem algum código de exemplo?

Obrigado;

Eliezer Reis
Rafael Nunes
Moderador
[Avatar]

Membro desde: 09/10/2003 13:41:06
Mensagens: 2890
Localização: sao bernardo do campo
Offline

Tenha por parâmetro essa declaração:


Válido:


Inválido:


Ou seja, depois de declarado uma variável de referência para objeto como final, você pode modificar o conteúdo do objeto, porém não pode modificar a referência para outro objeto.

This message was edited 1 time. Last update was at 18/08/2005 11:40:23


------------------------------------------------------------------
"Think different? I'd be happy if most people would just think..."

http://www.yaw.com.br
http://twitter.com/rafanunes
http://twitter.com/youandwe
[Email]
Java Vinicius Machine
JavaEvangelist
[Avatar]

Membro desde: 03/12/2004 12:56:35
Mensagens: 484
Offline

Quer dizer mais ou menos isso aqui (ilustrando novamente aquilo que o Rafael Nunes afirmou acima):


Erros:

Teste.java:32: cannot assign a value to final variable sc
sc = new SuaClasse(5); //isso não é válido, pois viola os padrões de bits
^

Teste.java:35: cannot assign a value to final variable sc
sc = sc2; //isso também não (claro!!!)
^
Joinha agora?

This message was edited 1 time. Last update was at 18/08/2005 11:46:43


Any fool can write code that a computer can understand. Good programmers write code that humans can understand. (Fowler)


Sun Certified Programmer for the Java Platform 1.4
agodinhost
Virtual Machine Man
[Avatar]

Membro desde: 28/03/2006 21:19:16
Mensagens: 590
Localização: RJ, Tijuca
Offline


Tem um livro muito bom que cobre bem esse assunto,
dá uma olhada em Hardcore Java, 2004 - O´Really.

Woody

"The difference between theory and practice is that, in theory, there is no difference between theory and practice".
[WWW] [MSN]
 
Índice dos Fóruns » Certificação Java
Ir para:   
Powered by JForum 2.1.8 © JForum Team