Olá
Estou estudando as APIs de Date, DateFormat, SimpleDateFormat e Calender.
Pesquisando exemplos de uso para entender o que as APIs dizem
sobre cada classe e seus métodos, fiquei muito confuso de como devo
pensar a relação entre a herança entre as classes e a chamada dos métodos das
superclasses nas subclasses e como relacionar objetos/métodos de classes de um pacote
com objetos/métodos de classes de outros pacotes.
Segundo as APIs as relações entre as classes que citei é esta
[code]
java.lang.Object
java.text.Format
java.text.DateFormat
java.text.SimpleDateFormat
java.lang.Object
java.util.Date
java.lang.Object
java.util.Calendar[/code]
Dai me deparei com o seguinte exemplo, que funciona:
[code]
import java.util.;
import java.text.;
public class Estudos{
public static void main(String args[]){
Calendar agora = Calendar.getInstance();
// formata e exibe a data e hora atual
Format formato = new SimpleDateFormat("dd/MM/yyyy - HH:mm:ss");
System.out.println("Hoje é: " +formato.format(agora.getTime()));
// vamos adicionar 5 dias a esta data
agora.add(Calendar.DAY_OF_MONTH, 5); // o mesmo resultado pode ser obtido com agora.add(Calendar.DATE, 5);
// formata e exibe o resultado
formato = new SimpleDateFormat("dd/MM/yyyy - HH:mm:ss");
System.out.println("Daqui a 5 dias será: " +formato.format(agora.getTime()));
}
}[/code]
O que me é confuso:
a) agora --> objeto de Calender;
b) formato --> objeto de SimpleDateFormat tipificado como Format;
c) formato.format(agora.getTime()); --> objeto formato de SimpleDateFormat chama o método format de Format, que, por sua vez, contem o objeto agora de Calender com o seu método getTime.
Sem olhar um exemplo, como poderia chegar a conclusão que poderia fazer isso só olhando as APIs?
Qual é o esquema geral (como devo pensar) da relação entre objetos/métodos nas chamadas de método pela anotação de ponto?
Obrigado.