首页 > 代码库 > java动态代理
java动态代理
@Test
public void test(){
//new UserImpl();
/* ProxyT proxy=new ProxyT(new UserImpl());
proxy.add();
proxy.update();*/
final User user=new UserImpl();
User userProxy=(User) Proxy.newProxyInstance(user.getClass().getClassLoader(), new Class[]{User.class}, new InvocationHandler(){
/**
* 参数
* ClassLoader loader:被代理的类加载器
* Class<?>[] interfaces:被代理类的接口,注意这里的数组一定是接口类,否则出错
* InvocationHandler h:将具体调用代理对象时产生的行为
*/
@Override
public Object invoke(Object proxy, Method method, Object[] args)
throws Throwable {
/**
* proxy:
* method:代理类正在调用的方法,该处是add
* args:add方法所传入的参数
*/
// TODO Auto-generated method stub
System.out.println(method);
System.out.println("hehehehehhehe");
//method.invoke(user, args);
return 0;
}
});
userProxy.add();
}