abstract class A { boolean t = false; String x = "AB"; String y = "AA"; } class B extends A { boolean t = true; static String x = "BA"; } class C extends A { boolean v = true; String y = "BB"; String z = "ABA"; } public class Test { public static void main(String a[]) { B b = new B(); C c = new C(); System.out.println(b.x); System.out.println(c.x); if (!b.t) { System.out.println(b.y); } if (c.v) { System.out.println(c.y); } b.x = "CC"; b.y = "CD"; b = new B(); System.out.println(b.x); System.out.println(b.y); } }