Construtor  XML
Índice dos Fóruns » Java Avançado
Autor Mensagem
Puppets
Virtual Machine Man
[Avatar]

Membro desde: 12/12/2006 14:14:55
Mensagens: 508
Localização: Porto Alegre
Offline

Vejam essa classe:


Eu não posso ter construtor recursivo em Java ?

Nunca desista antes de conseguir.
robinsonbsilva
GUJ Ranger
[Avatar]

Membro desde: 27/10/2004 12:01:50
Mensagens: 761
Offline

Você pode descrever melhor por que chamar "recursivamente um construtor"


Sun Certified Java Programmer Standard Edition 6.0
[MSN]
Puppets
Virtual Machine Man
[Avatar]

Membro desde: 12/12/2006 14:14:55
Mensagens: 508
Localização: Porto Alegre
Offline

E soh olhar no código cara:


quando eu coloco this ele me chama o construtor à qual a assinatura corresponde ao tipo passado, quando vou compilar é gerado um erro:

Recursive constructor invocation Tipo(int)
Recursive constructor invocation Tipo(String)

Nunca desista antes de conseguir.
Puppets
Virtual Machine Man
[Avatar]

Membro desde: 12/12/2006 14:14:55
Mensagens: 508
Localização: Porto Alegre
Offline

Galera pelo o que eu verifiquei o compilador detecta loop infinito.
Olhei este questão no site da Caelum.

This message was edited 1 time. Last update was at 16/07/2008 13:21:29


Nunca desista antes de conseguir.
francislon
JavaEvangelist
[Avatar]

Membro desde: 07/02/2007 09:27:21
Mensagens: 372
Localização: Ilhéus-BA
Offline

Os construtores estão chamando infinitamente um ao outro. Isto vai gerar um loop infinito.

"Mais vale a lágrima da derrota do que a vergonha de não ter lutado."

http:/perlbrasil.blogspot.com
[Email] [WWW] [MSN]
Ricna
Debugger

Membro desde: 05/07/2006 13:27:42
Mensagens: 52
Localização: http://ricna.net
Offline

Não entendo por que você precisaria fazer isso.

Para resolver problemas como esse é que existe polimorfismo.

http://ricna.net
[Email] [WWW] [MSN]
robinsonbsilva
GUJ Ranger
[Avatar]

Membro desde: 27/10/2004 12:01:50
Mensagens: 761
Offline

Eu olhei o código postado, e não dava para ver de forma clara o erro que dá para vc!!!!!!!!!

Jovem isso não existe no javac do JDK 5.0 ele dá erro..



veja:
http://www.guj.com.br/posts/list/68421.java

This message was edited 2 times. Last update was at 16/07/2008 13:30:44


Sun Certified Java Programmer Standard Edition 6.0
[MSN]
Ricna
Debugger

Membro desde: 05/07/2006 13:27:42
Mensagens: 52
Localização: http://ricna.net
Offline

Você poderia até chamar outro construtor, mas sem recursividade.

Resumindo: Só pode chamar outro construtor, e somente caso este não o chame novamente.



Isso estaria correto. Mas ainda acho extremamente ínutil, pois já existe o polimorfismo.

This message was edited 1 time. Last update was at 16/07/2008 13:37:31


http://ricna.net
[Email] [WWW] [MSN]
peczenyj
Moderador
[Avatar]

Membro desde: 26/03/2006 23:25:37
Mensagens: 3191
Localização: Rio de Janeiro
Offline

Beleza, vc empilhou um monte de chamadas numa pilha de recursão e acabou a memória

http://pacman.blog.br

'Não importa quanto alguém se dedique à tarefa. Ninguém consegue fazer a água da cascata cair para cima.'
[WWW]
ViniGodoy
Moderador
[Avatar]

Membro desde: 11/12/2006 08:22:01
Mensagens: 20581
Localização: Curitiba/PR
Offline

Puppets wrote:Eu não posso ter construtor recursivo em Java ?


Não.

Como o this é obrigatoriamente a primeira linha do seu código, você não teria como acabar com a recursividade.
Além do mais, é uma péssima prática de programação chamar outros métodos que usem as variáveis do seu objeto antes dele estar completamente construído.

@ViniGodoy - Lattes

Tem dúvidas de Java? Poste no fórum! Não respondo dúvidas de java via MP!

Ponto V! - Desenvolvimento de Jogos Profissional - @Pontov - Facebook
Projeto Towel - Swing de uma forma inteligente (Novo lar do ObjectTableModel e do Auto-Filtro).

Ei... você está usando DefaultTableModel no seu projeto??
Não faça isso! Veja: http://www.guj.com.br/posts/list/15/199067.java#1001295
[WWW]
Puppets
Virtual Machine Man
[Avatar]

Membro desde: 12/12/2006 14:14:55
Mensagens: 508
Localização: Porto Alegre
Offline

Vejam essa classe:


O compilador me mostrou que o erro e na linha onde está a seguinte instrução:
case y: ++contador; break;
Mas porque não vejo lógica para isto.

Nunca desista antes de conseguir.
sergiotaborda
GUJ Expert
[Avatar]

Membro desde: 22/03/2005 20:57:48
Mensagens: 3433
Offline

Puppets wrote:
Eu não posso ter construtor recursivo em Java ?


Pode, mas não infinitamente recursivo ... o seu seus construtores chama-se um ao outro infinitamente...

Criando sua própria API de Validação



Blog do MiddleHeaven
[WWW]
 
Índice dos Fóruns » Java Avançado
Ir para:   
Powered by JForum 2.1.8 © JForum Team