ack93 ha scritto:
Scusa sono stato io a non spiegarmi bene...
Devo fare il cast da una classe figlia (Es: Autovettura) ad una classe Padre(Es:Veicoli)
E io ti ho correttamente detto che un "up-cast" non ha bisogno di cast esplicito.
ack93 ha scritto:
in modo tale da far comparire a video tramite una System.out un metodo presente nella classe FIGLIA..
No, con un reference del super-tipo il compilatore "vede" e può solo invocare metodi noti nel super-tipo. Non può invocare metodi "nuovi" specifici del sotto-tipo.
E forse c'è bisogno di un altro esempio:
Object obj = "hello";
Su obj NON posso invocare es. substring o trim (metodi di String) anche se l'oggetto referenziato è realmente un String. Il compilatore "vede" Object e basta, solo i suoi metodi sono invocabili. I metodi di istanza sono soggetti ad override, quindi se invoco toString() (noto in Object), in realtà a runtime verrà invocato il toString() di String, perché è stato "ridefinito" in String.