Soit le code suivant :
Qu'affichera ce code?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27 class Vehicle { public void printSound() { System.out.print("vehicle"); } } class Car extends Vehicle { public void printSound() { System.out.print("car"); } } class Bike extends Vehicle { public void printSound() { System.out.print("bike"); } } public class Main { public static void main(String[] args) { Vehicle v = new Car(); Car c = (Car) v; v.printSound(); c.printSound(); } }
D'apres moi, ce code devra afficher vehiculecar,
D'apres la solution, ce code affichera carcar.
Je ne comprends pas pourquoi. A ce que je sache, même si on instancie la classe mère en appelant le constructeur de la classe fille, on devra pourtant accéder aux methodes de la mère non?
Il y a quelque chose que je dois mal comprendre
Partager