java學習

          java學習

           

          Java的動態代理例子

          Java的動態代理是為了攔截目標方法,例子:
          public interface Person {
          String sing(String name);
          String dance(String name);
          }
          public class Liyuchun implements Person {
          public String sing(String name){
          System.out.println("唱" + name +"歌");
          return "唱" + name +"歌";
          }
          public String dance(String name){
          System.out.println("跳"+name+"舞");
          return "跳"+name+"舞";
          }
          }
          public class LiyuchunProxy {
          private Person person ;
          public Person createProxy(Person p){
          this.person=p;
          return (Person) Proxy.newProxyInstance(LiyuchunProxy.class.getClassLoader(), person.getClass().getInterfaces(), new InvocationHandler(){
          public Object invoke(Object proxy, Method method, Object[] args)
          throws Throwable {
          String methodName = method.getName();
          if(methodName.equals("sing")){
          return method.invoke(person, args);
          }else if(methodName.equals("dance")){
          return method.invoke(person, args);
          }else{
          System.out.println("不支持");
          return null;
          }
          }
          });
          }
          }
          public class ProxyTest {
          public static void main(String[] args) {
          Liyuchun cun = new Liyuchun();
          LiyuchunProxy liyuchunProxy = new LiyuchunProxy();
          Person person = liyuchunProxy.createProxy(cun);
          String result =  person.dance("機械");
          System.out.println(result);
          }
          }

          posted on 2017-08-16 17:06 楊軍威 閱讀(94) 評論(0)  編輯  收藏


          只有注冊用戶登錄后才能發表評論。


          網站導航:
           

          導航

          統計

          常用鏈接

          留言簿

          隨筆檔案

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 麻江县| 开化县| 阿拉善右旗| 忻城县| 柞水县| 永靖县| 桂东县| 鹰潭市| 茶陵县| 保德县| 清远市| 台北县| 麻城市| 富民县| 奈曼旗| 张家港市| 阿勒泰市| 新巴尔虎右旗| 富平县| 商洛市| 榆中县| 隆昌县| 博乐市| 丘北县| 米易县| 舒兰市| 女性| 蒲城县| 郴州市| 镇雄县| 芜湖县| 六安市| 铜山县| 南江县| 静海县| 安吉县| 酒泉市| 海门市| 高安市| 清水县| 行唐县|