来个简单点得方法:- public class MyProxy {
- public static void main(String[] args) {
- List proxy=(List)Proxy.newProxyInstance(
- ArrayList.class.getClassLoader(),
- new Class[]{List.class},
- new InvocationHandler(){
- ArrayList array=new ArrayList();
- public Object invoke(Object proxy, Method method,
- Object[] args) throws Throwable {
- return method.invoke(array, args);
- }
- });
- proxy.add("123");
- System.out.println(proxy.get(0));
- }
- }
复制代码 用这种方式就可以得到ArrayList集合的代理类了,ArrayList集合的各种方法代理中也都有了。
个人理解:用代理的好处就是-可以在方法中加入你自己的代码。 |