Polimorfismo ("molte forme") consente a una singola interfaccia di funzionare con diversi tipi sottostanti. La stessa chiamata esegue codice diverso a seconda dell'oggetto effettivo — scelto a runtime. Questo è il polimorfismo di sottotipo.
Una chiamata, molti comportamenti
{ String { ; } }
{ String { ; } }
{ String { ; } }
Animal[] zoo = { (), () };
(Animal a : zoo) {
System.out.println(a.speak());
}
