首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

动态署理的工厂实现

2013-07-11 
动态代理的工厂实现动态代理的角色及其原理,见下文:http://tiro-li.iteye.com/blog/1901678动态代理的工厂

动态代理的工厂实现
动态代理的角色及其原理,见下文:
http://tiro-li.iteye.com/blog/1901678

动态代理的工厂类:DynamicProxyFactory.java

import java.lang.reflect.InvocationHandler;import java.lang.reflect.Method;import java.lang.reflect.Proxy;public class DynamicProxyFactory implements InvocationHandler{//被代理的对象private Object proxyObj;private DynamicProxyFactory(Object obj){this.proxyObj = obj;}//生成动态代理对象的工厂方法public static Object factory(Object obj){return Proxy.newProxyInstance(obj.getClass().getClassLoader(),obj.getClass().getInterfaces(),new DynamicProxyFactory(obj));}@Overridepublic Object invoke(Object proxy, Method method, Object[] args) throws Throwable{//使用反射调用被代理对象的方法return method.invoke(proxyObj,args);}}


测试类:Test.java

import java.util.ArrayList;import java.util.List;public class Test{public static void main(String[] args){List<String> list = (List<String>)DynamicProxyFactory.factory(new ArrayList<String>());list.add("hello");list.add("world");System.out.println(list);}}

热点排行