Bonjour à toutes et à tous,
Je suis en train de comprendre le polymorphisme en JAVA, et j'ai vu cet exemple:
1 2 3 4 5 6 7 8 9 10 11
|
class TestA {
public void start() { System.out.println("Class A"); }
}
public class TestB extends TestA {
public void start() { System.out.println("Class B"); }
public static void main(String[] args) {
((TestA)new TestB()).start();
}
} |
Le résultat de l'exécution est "Class B", mais j'aimerais bien comprendre pourquoi?; d'après ce que j'ai compris, le résultat est "Class B" parcequ'il s'agit d'une méthode redéfinie (Suis-je correct içi ?)
Ou bien c'est parce qu'il s'agit du casting à ce niveau?
((TestA)new TestB()).start();
De plus, est ce qu'on "cast" une référence ou bien un objet?
Je suis un peu dans le brouillard ici , Pourriez-vous me fournir des explications à propos ce point la (même des liens auxquels je peux suivre!)
Merci
Partager