class I { public void m() { }; } class A extends I { public void m() { System.out.print("A"); } } class B extends A { public void m() { System.out.print("B"); } } class C extends B { public void m() { System.out.print("C"); } } class X extends I { public void m() { System.out.print("X"); } } class M { public static void main(String args[]){ I[] i = {new A(), new B(), new C(), new X()}; for (int c = 0; c < 4; c++) i[c].m(); } }