Me gustaría saber sobre el siguiente comportamiento del instanceof
operador 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
}
}
¿Por que es esto entonces? No hay relación entre interface C
y class B
, pero da falso mientras que en caso de obj instanceof A
da error de compilador
Object obj = new B()
, se compila.