Originariamente inviato da Darèios89
Con l'overriding, si riscrive il corpo di un metodo, ma i parametri rimangono gli stessi o possono variare?
Per l'override la "signature" del metodo deve restare la stessa. Con l'unica variante in più che da Java 5 si parla di signature "override equivalent" e di "subsignature". Perché entrano in gioco i generics.

Se un metodo è es.:
void unMetodo(List<String> lista)

nella sottoclasse è legale fare l'override senza usare i generics, ovvero:
void unMetodo(List lista)

Originariamente inviato da Darèios89
L'overloading, si basa solo sul cambiamento di parametri?
Due metodi, per poter essere in overload devono avere parametri differenti. Non si possono insomma differenziare solo per il valore di ritorno o le eccezioni dichiarate o il livello di accesso.
Tutte queste cose possono essere diverse tra 2 metodi in overload ... ma i parametri devono anche cambiare.

Originariamente inviato da Darèios89
Perchè per esempio nelle classi si fa overloading del toString
No si fa l'override di toString().