ฉันต้องการทราบเกี่ยวกับพฤติกรรมต่อไปนี้ของ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()คอมไพล์