Entender as APIs e a relação entre objetos, dúvida

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.

No javadoc destas APIs normalmente tem exemplos de uso, como você pode ver na classe Calendar.

Caso contrário, você precisa verificar os métodos das classes. O que cada um faz. Se for um método estático, você pode invocá-lo diretamente, caso contrário você precisa criar uma instância antes. Mas isto é bem superficialmente. O esquema é ler o javadoc de maneira bem detalhada.

Olá novamente wagnerfrancisco

A dica já ajuda, tinha pensado nela, mas faltava confirmação, certeza.

Agora os docs das APIs em docs.oracle.com/javase/7/dosc/API e javadoc são coisas diferentes?

Aham, é isto mesmo!

Edit: Quis dizer que a documentação postada é o próprio javadoc.

OK.

E onde acho esse javadoc?

Desculpe-me, eu quis dizer que era a mesma coisa. O link que tu postou é referente aos javadocs. Vou editar o post anterior.

wagnerfrancisco

OK. Valeu.