Я хотел бы знать о следующем поведении 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()
, он компилируется.