码迷,mamicode.com
首页 > 其他好文 > 详细

动态代理

时间:2014-10-11 11:25:45      阅读:184      评论:0      收藏:0      [点我收藏+]

标签:style   blog   color   io   ar   java   sp   div   on   

 1 package DynamicProxy;
 2 
 3 import java.lang.reflect.InvocationHandler;
 4 import java.lang.reflect.Method;
 5 import java.lang.reflect.Proxy;
 6 
 7 interface AbstractClass {
 8     public void show();
 9 }
10 
11 class ClassA implements AbstractClass {
12     public void show() {
13         System.out.println("I am A !");
14     }
15 }
16 
17 class ClassB implements AbstractClass {
18     public void show() {
19         System.out.println("I am B !");
20     }
21 }
22 
23 class Invoker implements InvocationHandler {
24     AbstractClass ac;
25     public Invoker(AbstractClass ac) {
26         this.ac = ac;
27     }
28     
29     @Override
30     public Object invoke(Object proxy, Method method, Object[] args)
31             throws Throwable {
32         method.invoke(ac, args);
33         return null;
34     }
35     
36 }
37 
38 public class DynamicProxyTest {
39     public static void main(String[] args) {
40         
41         Invoker invoker1 = new Invoker(new ClassA());
42         AbstractClass ac1 = (AbstractClass) Proxy.newProxyInstance(AbstractClass.class.getClassLoader(), new Class[] {AbstractClass.class}, invoker1);
43         ac1.show();
44         
45         Invoker invoker2 = new Invoker(new ClassB());
46         AbstractClass ac2 = (AbstractClass) Proxy.newProxyInstance(AbstractClass.class.getClassLoader(), new Class[] {AbstractClass.class}, invoker2);
47         ac2.show();
48     }
49 }

 

动态代理

标签:style   blog   color   io   ar   java   sp   div   on   

原文地址:http://www.cnblogs.com/riordon/p/4018337.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!