JDK的动态代理实现调用拦截器中的方法
来源:优易学  2011-9-15 11:13:10   【优易学:中国教育考试门户网】   资料下载   IT书店

  5.为了根据目标对象生成一个代理对象,还应该创建一个代理工厂.
  
//MyProxyFactory.java
  package cn.edu.hld;
  import java.lang.reflect.Proxy;
  public class MyProxyFactory
  {
  public static Object getProxy(Object target)
  {
  ProxyHandler handler = new ProxyHandler() ;
  handler.setTarget(target) ;
  return Proxy.newProxyInstance(PersonImpl.class.getClassLoader()
  ,target.getClass().getInterfaces(),handler) ;
  }
  }
  6.主程序的实现.
  
//TestPerson.java
  package cn.edu.hld;
  public class TestPerson
  {
  public static void main(String args[])
  {
  Person targetPerson = new PersonImpl() ;
  Person person = null ;
  Object proxy = MyProxyFactory.getProxy(targetPerson) ;
  if(proxy instanceof Person)
  {
  person = (Person)proxy ;
  }
  person.info() ;
  person.run() ;
  }
  }
  7.直接在MyEclipse中运行.得到结果如下:
  
method_1被执行了!
  我是thtwin
  method_2被执行了!
  我想跑得快一些!

上一页  [1] [2] [3] 

责任编辑:小草

文章搜索:
 相关文章
热点资讯
资讯快报
热门课程培训