Buongiorno.
Scusate se torno sull'argomento...
Con questa modifica il downcasting funziona.
L'obiettivo dell'esercizio sarebbe quello di invocare il metodo di una sottoclasse da un oggetto che è stato upcastato (che funziona) e viceversa, cioè invocare il metodo di una superclasse da un oggetto che è stato downcastato, ma pare che quest'ultimo passaggio non sia possibile per come viene costruito superclasse, che nasce già come Sottoclasse e col downcasting gli tolgo delle specificità ma ciò che era overriden e persiste nell'oggetto resta tale.codice:public class Programma { public static void main(String args[]) { Superclasse superclasse = new Sottoclasse(); Sottoclasse sottoclasse = new Sottoclasse(); // downcasting superclasse = (Superclasse)superclasse; } }

Rispondi quotando