public static void main(String[] args) throws IllegalArgumentException,
			SecurityException, InstantiationException, IllegalAccessException,
			InvocationTargetException, NoSuchMethodException {

		Foo f0 = (Foo) Proxy
				.getProxyClass(Foo.class.getClassLoader(),
						new Class<?>[]{Foo.class})
				.getConstructor(new Class<?>[]{InvocationHandler.class})
				.newInstance(new Object[]{new H()});

		Foo f1 = (Foo) Proxy.newProxyInstance(Foo.class.getClassLoader(),
				new Class<?>[]{Foo.class}, new H());

		System.out.println(f0.foo());
		System.out.println(f1.foo());

	}