Ich würde gerne wissen, wie sich der instanceofOperator in Java verhält.
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
}
}
Wieso ist es so? Es gibt keine Beziehung zwischen interface Cund class B, aber es gibt falsch, während im Falle, wenn es obj instanceof ACompilerfehler gibt?
class Bis wird finaldann obj instanceof Cauch nicht kompiliert, da if Bkeine Subtypen haben kann, ist garantiert, dass es keine Beziehung zu hat C.
Object obj = new B()wird es kompiliert.