Dúvida atributos final e construtores sobrecarregados.  XML
Índice dos Fóruns » Certificação Java
Autor Mensagem
rmalati
Virtual Machine Man
[Avatar]

Membro desde: 26/11/2007 09:10:30
Mensagens: 593
Localização: Jundiaí-SP
Offline

Salve galera!

Gostaria de saber o motivo que o código abaixo dá erro de compilação.



O construtor sobrecarregado #2 apresenta erro de Compilação com a seguinte mensagem: "The blank final field atributoA may not have been initialized"

Gostaria de saber se não posso mesmo sobrecarregar um construtor se houver algum atributo final e que não seja inicializada neste construtor.

E qual seria a solução?

Rodrigo Malatesta Barbosa
Graduando em Tecnologia Informática Unicamp
SCJP 1.6 - 93%

"A disciplina é o caminho mais curto para o sucesso"
"Se não puder destacar pelo talento, vença pelo esforço. (Provérbio indiano)"
[Email] [MSN]
Slaydy
Thread.start()

Membro desde: 26/01/2005 18:10:09
Mensagens: 36
Localização: São Paulo - SP
Offline

O problema ai não é a sobrecarga de construtores.

As variáves de instância final devem ter seu valor atribuído antes que o construtor termine sua execução.
Então mesmo que vc tivesse apenas um construtor, se não estiver inicializando as variáveis de instância final dentro do construtor ou na declaração da variável o código não compila.
Outra regra é que variáveis final só podem ser inicializadas uma vez, então se optar por inicializar na declaração não poderá inicializar novamente no construtor.

As solução que eu proponho são essas:

* inicializar as variáveis de instância final dentro do construtor


ou

*inicializar as variáveis de instância final declaração da variável
[MSN]
ataufo
Java Ninja
[Avatar]

Membro desde: 21/03/2009 12:15:23
Mensagens: 267
Offline

O que o compilador está dizendo para você é: existe a possibilidade de atributo atributoA não ser inicializado. Ou seja erro !

Victor Soares
ataufo@gmail.com
[Email] [MSN] [ICQ]
Felagund
GUJ Master
[Avatar]

Membro desde: 26/07/2006 11:51:36
Mensagens: 1732
Localização: Santa e Bela Catarina
Offline



A pergunta já foi respondida, so estou mostrando como usar o this, nos construtroes e definir valores padrão usando o mesmo construtor.

att
Rafael Felix

Rolling With Code
Twitter
[WWW]
 
Índice dos Fóruns » Certificação Java
Ir para:   
Powered by JForum 2.1.8 © JForum Team