| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 23/06/2009 13:09:08
|
Henrique Fernandes
JavaChild
![[Avatar]](/images/avatar/4ea662b556326c49db642235581ef78a.jpg)
Membro desde: 13/01/2009 15:06:44
Mensagens: 106
Localização: Recife, PE
Offline
|
Boa tarde pessoal, gostaria de saber qual a real diferença entre calendar e gregorian calendar.
Agradeço a todos que puderem ajudar!
[]'s
|
Um dia SCJP 6.0 |
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 23/06/2009 13:19:05
|
leonickel
JavaChild
Membro desde: 28/08/2007 19:51:12
Mensagens: 141
Localização: São Paulo - SP
Offline
|
Calendar é uma classe Abstrata que possui algumas informações genéricas. Por Calendar ser abstrata vc nao consegue instanciá-la.
GregorianCalendar é uma classe concreta que extende Calendar e possui algumas informações adicionais específicas
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 23/06/2009 13:22:58
|
Henrique Fernandes
JavaChild
![[Avatar]](/images/avatar/4ea662b556326c49db642235581ef78a.jpg)
Membro desde: 13/01/2009 15:06:44
Mensagens: 106
Localização: Recife, PE
Offline
|
leonickel wrote:Calendar é uma classe Abstrata que possui algumas informações genéricas. Por Calendar ser abstrata vc nao consegue instanciá-la.
GregorianCalendar é uma classe concreta que extende Calendar e possui algumas informações adicionais específicas
Quando usar uma e outra?
|
Um dia SCJP 6.0 |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 23/06/2009 13:54:24
|
leonickel
JavaChild
Membro desde: 28/08/2007 19:51:12
Mensagens: 141
Localização: São Paulo - SP
Offline
|
Henrique Fernandes wrote:
leonickel wrote:Calendar é uma classe Abstrata que possui algumas informações genéricas. Por Calendar ser abstrata vc nao consegue instanciá-la.
GregorianCalendar é uma classe concreta que extende Calendar e possui algumas informações adicionais específicas
Quando usar uma e outra?
A classe GregorianCalendar é mto usada para criar uma data passada, pois qndo vc dá um new vc pode passar como argumentos o ano, mes, dia, etc....., já a classe Calendar como vc nao consegue instanciá-la, ela acaba sendo usada mais para efeito de polimorfismo
este código irá retornar um Objeto GregorianCalendar com a data atual;
este código irá retornar um objeto GregorianCalendar com a data que foi passada como argumento
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 23/06/2009 14:16:13
|
ozix
JavaEvangelist
Membro desde: 25/05/2006 18:00:15
Mensagens: 326
Localização: Porto Velho
Offline
|
Fique sempre o mais abstrato possível. Prefira interfaces. Se não tiver, Classes abstratas. Usar implementações são exceções. Caso haja uma real necessidade. Veja no ótimo exemplo de nosso amigo leonickel. Embora esteja usando a implementação GregorianCalendar, sua variável é do tipo Calendar. Se houver uma classe/método Factory (como Calendar.getInstance()), use-a, pelo mesmo motivo: quanto menos dependente de implementação seu código for, melhor. Uma alternativa a usar o GregorianCalendar diretamente é user o métdo set():
This message was edited 1 time. Last update was at 23/06/2009 19:26:36
|
O céu é azul porque a matrix roda em Windows |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 23/06/2009 14:24:00
|
ViniGodoy
Moderador
![[Avatar]](/images/avatar/1921493b5362e63fbe8983f4bd54157d.png)
Membro desde: 11/12/2006 08:22:01
Mensagens: 20573
Localização: Curitiba/PR
Offline
|
Calendar representa um calendário genérico.
GregorianCalendar representa o nosso calendário, utilizado no nosso dia-a-dia.
Entretanto, não existe somente nosso calendário. Você poderia querer trabalhar com o padrão Juliano, com o calendário judeu, ou com outro formato de calendário, criado por você (como as datas em Klingon, por exemplo).
Por isso, define-se uma interface de uso comum, Calendar, que permite que um programa manipule um calendário qualquer. E também define-se as suas implementações, para os diversos tipos de calendário.
A implementação da Sun, a respeito de calendários é extremamente falha. Esse modelo não só não atende o problema, como torna seu código extremamente complexo e rebuscado. Já que você está trabalhando com datas, considere com carinho a possibilidade de implementar uma API como o JODA-Time.
|
@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 |
|
|
 |
|
|