首页 > 代码库 > java动态代理实例
java动态代理实例
import java.lang.reflect.InvocationHandler;import java.lang.reflect.Method;import java.lang.reflect.Proxy;public class ProxyTest { public static void main(String[] args) { Target target = (Target)Proxy.newProxyInstance(TargetImpl.class.getClassLoader(), TargetImpl.class.getInterfaces(), new MyInterceptor()); target.say(); /* Console: 拦截之前 this is Target.class 拦截之后 */ }}//目标类接口interface Target { void say();}//目标类class TargetImpl implements Target { @Override public void say() { System.out.println("this is Target.class"); }}//拦截器class MyInterceptor implements InvocationHandler { private Object target = new TargetImpl(); @Override public Object invoke(Object proxy, Method method, Object[] args) throws Throwable { System.out.println("拦截之前"); method.invoke(target, args);//调用目标类方法 System.out.println("拦截之后"); return null; }}
java动态代理实例
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。