Je voudrais connaître le comportement suivant de l' instanceof
opérateur en Java.
interface C {}
class B {}
public class A {
public static void main(String args[]) {
B obj = new B();
System.out.println(obj instanceof A); //Gives compiler error
System.out.println(obj instanceof C); //Gives false as output
}
}
Pourquoi en est-il ainsi? Il n'y a pas de relation entre interface C
et class B
, mais cela donne false alors que dans le cas, obj instanceof A
cela donne une erreur de compilation?
Object obj = new B()
, il se compile.