SimplelevelDynamicProxy(1)计算机等级考试

文章作者 100test 发表时间 2010:01:01 12:23:39
来源 100Test.Com百考试题网


  package poxy.
  import java.lang.reflect.InvocationHandler.
  import java.lang.reflect.Method.
  import java.lang.reflect.Proxy.
  /**
  * Simple Dynamic Proxy, show a single interface - a single instance case.
  *
  */
  public class SimpleDynamicProxy {
  /**
  * @param args
  */www.Examda.CoM考试就到百考试题
  public static void main(String[] args) {
  //generate a hanlder
  ProxyHanlder hanlder=new ProxyHanlder().
  /*
  * register instance to hanlder, get the interface’s proxy
  */
  Dog dogProxy=(Dog) hanlder.generateProxyHanlder(new Dog(){
  @Override
  public String eat(String food) {
  return "Daniel’s dog just ate an " food "!".
  }
  }).
  //do method by proxy
  String result = dogProxy.eat("big bone").
  //take a look
  System.out.println(result).
  }
  }
  //Proxy Handler
  class ProxyHanlder implements InvocationHandler{
  //container
  Object obj = new Object().
  public Object generateProxyHanlder(Object obj) {
  //store it
  this.obj = obj.
  //return interface proxy
  return Proxy.newProxyInstance(obj.getClass().getClassLoader(),
  obj.getClass().getInterfaces(),
  this).
  }
  @Override
  public Object invoke(Object proxy, Method method, Object[] args)
  throws Throwable {
  Object result=null.
  result=method.invoke(obj, args).
  return result.
  }
  }
  //interface
  interface Dog{
  String eat(String food).
  }

  编辑特别推荐:

  Java每日一题系列



相关文章


常用的JavaScript验证正则表达式计算机等级考试
计算机二级java辅导:拿波里次数列计算机等级考试
搞懂java中的synchronized关键字计算机等级考试
SimplelevelDynamicProxy(2)计算机等级考试
SimplelevelDynamicProxy(1)计算机等级考试
Java中classpath和路径的使用计算机等级考试
java中获得文件的物理路径计算机等级考试
java查看JDK中底层源码计算机等级考试
Java中数组的转型和范型计算机等级考试
澳大利亚华人论坛
考好网
日本华人论坛
华人移民留学论坛
英国华人论坛