動態代理其實是程序在運行中,java
public final class $Proxy0 extends Proxy implements Interface { public $Proxy0(InvocationHandler paramInvocationHandler) { super(paramInvocationHandler); } // 該方法爲被代理接口的業務方法,代理類都會自動生成相應的方法,裏面去執行invocationHandler 的invoke方法。 public final void sayHello(String paramString) { try { this.h.invoke(this, m3, new Object[] { paramString }); return; } catch (Error|RuntimeException localError) { throw localError; } catch (Throwable localThrowable) { throw new UndeclaredThrowableException(localThrowable); } } }
爲什麼調用代理類的方法就會自動進入InvocationHandler 的 invoke()方法呢?this