我想知道有关instanceof
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
}
}
为什么会这样呢?interface C
和之间没有关系class B
,但是它给出false,而如果obj instanceof A
给出编译器错误?
Object obj = new B()
,则会进行编译。