Bonjour,
le code ci-dessous ne se compile pas ??
Code:
1
2
3
4
5
6
7
8
9 class Cat { } class Dog { public static void main(String [] args) { Dog d = new Dog(); System.out.println(d instanceof Cat); } }
Merci par avance
Version imprimable
Bonjour,
le code ci-dessous ne se compile pas ??
Code:
1
2
3
4
5
6
7
8
9 class Cat { } class Dog { public static void main(String [] args) { Dog d = new Dog(); System.out.println(d instanceof Cat); } }
Merci par avance
Non, car un Dog (type référencé par la variable) ne peut en aucun cas être une instance de Cat (vu la hiérarchie)
Par contre, cela, ça compile:
... car un Object peut (potentiellement) être un CatCode:
1
2
3
4
5
6
7
8class Cat { } class Dog { public static void main(String [] args) { Object d = new Dog(); System.out.println(d instanceof Cat); } }
donc je dois réspecter le hiérarchie?
... donc si il n'y a AUCUNE chance que l'opérateur instanceof puisse retourner true, le compilo te le dit
;)
Ok, Merci bien