Sobrecarga & Sobrescrito

Pessoal. Gostaria de saber se estes dois assuntos estão certos na minha resposta aqui em baixo! Vocês podem ajudar na correção? Grato!!!

Sobrecarga:

  • Lista de argumentos no metodo deve ser diferente
  • O tipo de retorno pode ser ou não diferente
  • A chamada deve ser do mesmo tipo que a lista de argumentos

Sobrescrito:

  • Pode sobrescrever métodos atraves da superclasse pra subclasse
  • Sempre é o método sobrescrito que muda de comportamento
  • Utiliza-se as palavras chaves this e super
  • Quando utilizamos a palavra-chave this queremos chamar o método filho(sublclasse) e quando utilizamos o super queremos a chamar o método pai(superclasse)

Se alguem tiver mais alguma coisa a colocar podem postar neste tópico por favor!

Seguem mais algumas observações:

-Métodos sobrecarregados podem ter modificadores de acesso diferentes.
-Os construtores podem ser sobrecarregados mas não subscritos.
-Métodos subscritos devem ter o mesmo tipo de retorno, exceto no caso do retorno covariante (Java 5) onde o tipo de retorno pode ser uma subclasse.
-O tipo de objeto determina que método subscrito será usado no tempo de execução.
-O tipo de referência determina que método sobrecarregado será usado no tempo de compilação.

Na afirmação “A chamada deve ser do mesmo tipo que a lista de argumentos”

Fiz a seguinte Experiência e “rodou” normal

[code]public class Test {

public long sum( long a, long b ) {

  return a + b;

}// fim do método sum

public String sum( int a, String b ) {

  return a + b;

}

} // fim da classe Test
[/code]

Alguém pode explicar?

Abraços a todos

Creio que o significado desta afirmação seja que a chamada do método, ou seja, a invocação, deve ter uma lista de argumentos na chamada que seja idêntica, no sentido de tipo de variável, à encontrada na assinatura do método. Utilizando seu exemplo:

sum(10L, 20L); sum(10, "20");

Está certo, mas qualquer coisa diferente, tal como:

sum("10", "20"); sum(new Object(), 20L);

Não irá funcionar. Isto é um pouco óbvio, mas é importante enfatizar no estudo, pois é a lista de argumentos que determina qual método de fato será chamado. Se bem me recordo, isto é determinado em tempo de compilação.

Pelo menos, esta é a minha interpretação do significado desta frase “A chamada deve ser do mesmo tipo que a lista de argumentos”, posso estar enganado…

Waocnek