Я хотів би знати про наступну поведінку 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 , але це видає помилкове, тоді як у випадку obj instanceof Aце видає помилку компілятора?
Object obj = new B(), він компілюється.