700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > Android插件化开发基础之Java动态代理(proxy)机制的简单例子

Android插件化开发基础之Java动态代理(proxy)机制的简单例子

时间:2019-02-12 16:29:56

相关推荐

Android插件化开发基础之Java动态代理(proxy)机制的简单例子

一、代码

package com.sangfor.tree;import java.lang.reflect.InvocationHandler;import java.lang.reflect.Method;import java.lang.reflect.Proxy;interface ProxyInterFace { public void proxyMethod(); } class TargetObject implements ProxyInterFace { public void proxyMethod() { System.out.println("我被代理了,哈哈!"); } } class ProxyObject implements InvocationHandler { //代码的对象 public Object targetObject; public void setTargetObject(Object targetObject) { this.targetObject = targetObject; } public Object invoke(Object proxy, Method method, Object[] args) throws Throwable { //调用,传入一个目标对象,和对应的对象参数 System.out.println("代理前 你可以做的事情"); Object object = method.invoke(targetObject, args);System.out.println("代理后 你可以做的事情"); return object;} } public class ProxyDemo { public static void main(String[] args) { //代理的目标对象 ProxyInterFace target = new TargetObject();//代理器 ProxyObject proxy = new ProxyObject();proxy.setTargetObject(target);//需要传进函数的handlerInvocationHandler handler = proxy;//生存新的代理对象Object newProxyObject = Proxy.newProxyInstance(target.getClass().getClassLoader(), target.getClass().getInterfaces(), handler);//新的代理对象执行方法((ProxyInterFace)newProxyObject).proxyMethod();} }

二、结果

代理前 你可以做的事情我被代理了,哈哈!代理后 你可以做的事情

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。