| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 31/07/2009 14:44:15
|
Naruffy
JavaEvangelist
![[Avatar]](/images/avatar/d74dc3f2679eee2fa69ddb9597b61258.jpg)
Membro desde: 28/03/2008 18:54:49
Mensagens: 324
Offline
|
Pessoal, estou com uma duvida que me parece um tanto estranha,
no método printFilho o valor do atributo b impresso é null, porem ele foi inicializado
na sua declaração, porque então ele está nulo.
[]s
|
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 31/07/2009 15:15:05
|
roger_rf
GUJ Master
Membro desde: 29/04/2009 07:40:19
Mensagens: 1091
Localização: Natal/RN
Offline
|
Problema interessante. Acabo de rodar este código numa sessão de debug, e o valor de <b> só é atribuído após a chamada a super(a), o que explica o valor nulo.
|
 |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 31/07/2009 15:23:40
|
Naruffy
JavaEvangelist
![[Avatar]](/images/avatar/d74dc3f2679eee2fa69ddb9597b61258.jpg)
Membro desde: 28/03/2008 18:54:49
Mensagens: 324
Offline
|
Obrigado pela ajuda roger_rf , rodei também em debug, percebi que ao entrar no construtor do pai o cursor do debug vai direto para a declaração do atributo a, porém na filha ela entra primeiro na chamda do super, ao invés de ter o mesmo comportamento da classe Pai, por que será que isso acontece.
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 31/07/2009 15:55:23
|
Naruffy
JavaEvangelist
![[Avatar]](/images/avatar/d74dc3f2679eee2fa69ddb9597b61258.jpg)
Membro desde: 28/03/2008 18:54:49
Mensagens: 324
Offline
|
Descobri,
Isso acontecen porque sempre que uma classe filha de outra é instancia a primeira coisa a ser executada é o construtor de sua classe super, antes mesmo das declarações.
[]s
|
|
|
 |
|
|