package test; import java.lang.reflect.InvocationHandler; import java.lang.reflect.Method; import java.lang.reflect.Proxy; public class Test { public static void main(String[] args) { //Proxy.newProxyInstance // 參數:1. 類加載器 // 2.要代理的接口 new Class[] {IHello.class} // 3.實際處理接口方法的對象 // IHello.class /// IHello iHello= (IHello)Proxy.newProxyInstance(Test.class.getClassLoader(), new Class[] {IHello.class} , new InvocationHandler() { @Override public Object invoke(Object proxy, Method method, Object[] args) throws Throwable { System.out.println("zhangxiongfeng"); System.out.println("----"+method.getName()); //proxy 生成的代理對象 // 執行的方法 //args 實際傳入的參數 return proxy; } }); iHello.get(); } }
package test; public interface IHello { public void get(); }