No, un cast fa solo cambiare la visibilità dei metodi, esponendo tutti e soli quelli "previsti" dalla classe a cui lo si casta, ma non modifica l'oggetto (un oggetto non si può trasformare: come nasce, muore).

Tra l'altro, "super" serve ad accedere a tutti i metodi (costruttori compresi) della superclasse, non necessariamente quelli ridefiniti. Supponiamo di avere questa classe base

codice:
public class Classe1 {
   public void metodo1() { ... }
   public void metodo2() { ... }
}
Quando io scrivo una cosa del genere
codice:
public class Classe2 extends Classe1 {
   public void metodoSpecifico() {
      metodo1();
      metodo2();
   }
}
Da dentro il metodo "metodoSpecifico()" sto richiamando i due metodi della superclasse... questo è perfettamente equivalente a:

codice:
public class Classe2 extends Classe1 {
   public void metodoSpecifico() {
      super.metodo1();
      super.metodo2();
   }
}
Non cambia proprio nulla... il "super" è esattamente come il "this".
"this" è il puntatore all'oggetto corrente (per cui qualunque invocazione di metodi e/o campi della classe è come se fosse preceduta da un "this."), mentre "super" è il puntatore all'oggetto della classe base. Ove non ci sono ambiguità il "super" si può omettere (come per il this)... dove ci sono le ambiguità (come per i metodi ridefiniti, che hanno appunto lo stesso nome) esso va opportunamente esplicitato.


Ciao.