| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 18/08/2005 11:28:48
|
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
|
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 18/08/2005 11:39:56
|
Rafael Nunes
Moderador
![[Avatar]](/images/avatar/d072677d210ac4c03ba046120f0802ec.png)
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
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 18/08/2005 11:44:46
|
Java Vinicius Machine
JavaEvangelist
![[Avatar]](/images/avatar/22f2729737ae3dc9702e4cee0eb3e900.png)
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
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 30/03/2006 20:58:08
|
agodinhost
Virtual Machine Man
![[Avatar]](/images/avatar/b8ffa41d4e492f0fad2f13e29e1762eb.jpg)
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". |
|
|
 |
|
|