Eu gostaria de saber a respeito do seguinte comportamento do instanceof
operador em 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 é tão? Não há relação entre interface C
e class B
, mas dá falso enquanto que no caso de obj instanceof A
dá erro do compilador?
Object obj = new B()
, ele compila.