void () { final AbstractBase.AbstractBaseImpl proxy = AdvancedProxy.createProxy(AbstractBase.AbstractBaseImpl.class, ArrayUtil.EMPTY_CLASS_ARRAY, new InvocationHandler() { @Override public Object invoke(Object proxy, Method method, Object[] args) { return "a"; } }, false, ArrayUtilRt.EMPTY_OBJECT_ARRAY); assertEquals("a", proxy.sayA()); assertEquals("a", proxy.sayA()); assertEquals("a", ((BaseI)proxy).sayA()); }