Compréhension exercice certification Java
Bonjour,
je suis en train de regarder les exos du chap2 et meme par son explication je ne comprends pas bien :
voici cette exercice :
Code:
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
|
classe A{}
classe B extends A {}
public class toto {
static String s="-";
public static void main (String[] args){
A aa = new A[2];
B ba = new B[2];
titi(aa);
titi(ba);
titi(7);
System.out.println(s);
}
static void titi(A[]... a2) {s+="1"};
static void titi(B[]... b1) {s+="2"};
static void titi(B[] b1) {s+="3"};
static void titi(Object o) {s+="4"};
}
et j'ai le choix entre les 4 résultats :
-124
-134
-424
-434
-444 |
La réponse est 434 mais je ne comprends toujours pas pourquoi on choisi la réponse 3 et 4
On partirait que l'on overload du plus général au plus spécifique donc de l'Object vers un tableau qui est en principe défini comme un objet alors pour choisir la réponse 4 pour le int 7?
je dois dire que c'est assez confus
pourriez-vous m'aider?