Est-il possible d'appeler des méthodes de sous-classes sur un objet de super-classe?

Animal est une super-classe de Chien
et le Chien a une méthode appelée écorce

public void bark()
{
    System.out.println("woof");
}

De considérer les éléments suivants:

Animal a = new Dog();
if (a instanceof Dog){
    a.bark();
}

Ce qui va arriver?

  1. l'affectation n'est pas autorisé
  2. l'appel à l'écorce est autorisé et "wouf" est imprimé au moment de l'exécution
  3. l'appel à l'écorce est permis mais rien n'est imprimé
  4. l'appel à l'écorce provoque une erreur de compilation
  5. l'appel à l'écorce des résultats dans une erreur d'exécution

Je l'ai dit 2 que nous allons vérifier si l'objet est un chien; chien est la classe avec l'écorce de la méthode en elle, si c'est pour nous l'appelons, qui va imprimer :s

Est ma compréhension de corriger ici?

source d'informationauteur