La super classe à ne pas appeler la méthode de remplacement?

J'ai les classes suivantes:

class foo {
    public void a() {
        print("a");
    }
    public void b() {
        a();
    }
}

class bar extends foo {
    public void a() {
        print("overwritten a");
    }
}

Quand je vais maintenant appeler le bar.b (en) je tiens à appeler la méthode de remplacement d'un() dans foo. Il ne, cependant, d'imprimer "un".

  • Pardon de la didactique: Il s'appelle "substitution", pas "écraser".
  • Le code que vous avez écrit, il doit travailler comme vous l'espérez, comme beaucoup d'entre les réponses ci-dessous suggèrent à obtenir le résultat que vous obtenez, vous devez être en train de faire quelque chose d'autre dans votre code que vous ne présentez pas ici.
InformationsquelleAutor | 2009-04-10