public class poly { public static void main(String[] args) { A a1 = new A(); A a2 = new A(); B b1 = new B(); B b2 = new B(); a1 = b1; // b2 = (B) a2; // compiles, but won't run } } class A {} class B extends A {}