Understanding Instanceof


package edu.scjp.exam;

class A {

      A() {
            System.out.println("Inside A");
      }
}

class B extends A {
     
      B() {
            System.out.println("Inside B");
      }
}

class C extends B {
     
      C() {
            System.out.println("Inside C");
      }
}
public class Instance {
     
      public static void main(String args[]) {
           
            A a = new A();
            C c = new C();
           
            if (a instanceof A)
            System.out.println(" a Object is an instance of A");
           
            if ( a instanceof C) // this will not get printed
                  System.out.println("-- a Object is an instance of C");
           
            a = new B();
           
            if (a instanceof B)
                  System.out.println(" a Object is now an instance of B");
           
            if ( c instanceof A)
                  System.out.println(" c Object is an instance of A");
           
           
      }

}