| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 22/11/2011 20:43:08
|
sidney.tavares
JavaBaby
![[Avatar]](/images/avatar/6fc8f419ee0ea924e13e9f41a7e9c73f.png)
Membro desde: 09/04/2009 14:48:14
Mensagens: 96
Offline
|
Galera, boa noite, estou com uma dúvida de causada pela afirmação de que métodos static podem ser sobrescritos, abaixo segue os códigos:
Abaixo a classe que estende esta classe:
Tenho um livro que infelizmente não é o da Kathy que cita como uma das regras de sobrescrita que um método static pode ser sobrescrito se for herdado pela subclasse. Poderiam por favor me dar uma ajuda neste caso? Obrigado desde já.
This message was edited 1 time. Last update was at 23/11/2011 12:39:50
|
Entusiasta Java |
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 22/11/2011 21:52:39
|
asousaj
JavaChild
![[Avatar]](/images/avatar/9749463e67a1dd52c34fed592810f23d.jpg)
Membro desde: 03/07/2011 18:19:45
Mensagens: 120
Localização: Campo Grande/MS
Offline
|
Você não pode sobrescrever um método static, pode redefini-lo . Metodo static não se aplica no polimorfismo.
Olhe
saída será:
print da Classe1
print da Classe2
print da Classe1
print da Classe2
This message was edited 1 time. Last update was at 22/11/2011 22:00:14
|
Adriano Sousa de Jesus
OCJP em 2012
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 23/11/2011 12:39:21
|
sidney.tavares
JavaBaby
![[Avatar]](/images/avatar/6fc8f419ee0ea924e13e9f41a7e9c73f.png)
Membro desde: 09/04/2009 14:48:14
Mensagens: 96
Offline
|
asousaj
Obrigado pela dica, era bem isso que eu tinha entendido, mas sabe como é, quando a gente está estudando e um livro diz certas coisas a gente acaba acreditando, ou no meu caso, duvidando, acho que é sinal que tô prestando atenção no que leio, valeu mesmo. Abraço.
|
Entusiasta Java |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 30/11/2011 11:51:41
|
WRYEL
JavaEvangelist
![[Avatar]](/images/avatar/d4f3031272693602ccb1df4024655175.png)
Membro desde: 03/03/2008 21:27:20
Mensagens: 447
Localização: São Paulo
Offline
|
Complementando:
Em java você não pode sobrescrever metodos estáticos, pois não são metodos do objeto, e sim da classe. O que acontece ai, é que o método fica escondido, mas não sobreescrito. Um exemplo disso é se você fizer:
a saída será "print da Classe1"
[]'s
This message was edited 1 time. Last update was at 30/11/2011 11:52:27
|
/**
* http://www.wryel.com.br
* SCJA / SCJP / OCWCD
*/ |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 30/11/2011 12:18:32
|
sidney.tavares
JavaBaby
![[Avatar]](/images/avatar/6fc8f419ee0ea924e13e9f41a7e9c73f.png)
Membro desde: 09/04/2009 14:48:14
Mensagens: 96
Offline
|
WRYEL
Valeu por mais essa dica, quero fazer a prova em fevereiro e todas as dicas pra ajudar são bem vindas, valeu mesmo.
|
Entusiasta Java |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 30/11/2011 22:45:04
|
Gelleo
Thread.start()
Membro desde: 07/10/2006 19:59:12
Mensagens: 26
Offline
|
Isso mesmo, pra ajudar a entender:
A saída sera essa:
print da Classe1
print da Classe2 (o mesmo objeto com prints diferentes.)
print da Classe1 (o mesmo objeto com prints diferentes.)
|
Meu MMORPG feito em Java.
http://www.maniabr.com.br
Lançada versão 0.08.01 em 16/02/2011
Trabalho com Java desde 2005, tenho as certificações SCJA, SCJP, SCWCD, SCBCD e SCEA part I. |
|
|
 |
|
|