public class interfaceTest { public static void main(String z[]) { Object o = new aClass(); { aClass a = (aClass)o; long time = System.currentTimeMillis(); for (int i = 0; i < 100000000; i++) { int j = a.i; } System.out.println("Field" + (System.currentTimeMillis() - time)); } { aInterface a = (aInterface)o; long time = System.currentTimeMillis(); for (int i = 0; i < 100000000; i++) { int j = a.getIFromInterface(); } System.out.println("Interface" + (System.currentTimeMillis() - time)); } { aClass a = (aClass)o; long time = System.currentTimeMillis(); for (int i = 0; i < 100000000; i++) { int j = a.getIFromVirtual(); } System.out.println("Virtual" + (System.currentTimeMillis() - time)); } }}interface aInterface { public int getIFromInterface();}class aClass implements aInterface { public int i = 0; public int getIFromInterface() { return i; } public int getIFromVirtual() { return i; }}