Dunque leggendo un capitolo sulle interfacce in Java ho trovato:
"Il collegamento tra l'invocazione di un metodo e la sua definizione , per
un riferimento polimorfico, può avvenire solo a tempo di esecuzione.
Infatti la definizione del metodo da usare dipende dall'oggetto puntato
nell'istante in cui viene eseguita l'invocazione del metodo."

allora mi chiedo:
date 2 classi Cane,Gatto e un'interfaccia Animale

Animale definice un metodo emetteVerso() poi implementato sia da Cane che
da Gatto
nel main di una terza classe Fattoria ho:

Animale anim;

anim=new Cane();
anim.emetteVerso();

anim=new Gatto();
anim.emetteVerso();

in questo caso Il collegamento tra l'invocazione di un metodo e la sua
definizione avviene a tempo di esecuzione(secondo quanto detto sopra)
ma perchè il collegamento non puo' avvenire a tempo di compilazione??
insomma il compilatore sa che prima anim è un riferimento ad un oggetto di
tipo Cane e dopo diventa un riferimento ad un oggetto di tipo Gatto e
quindi il collegamento potrebbe avvenire a tempo di compilazione.
poi mi chiedo: in un caso dove non ci sono riferimenti poliformici il
collegamento tra l'invocazione di un metodo e la sua definizione avviene a
tempo di compilazione??

scusate se ho detto un mucchio di boiate ma la cosa mi è poco chiara
grazie