Java动态代理学习笔记

故事开始~~~

有一天张三想买一部IPhoneX手机但是由于价格太贵一直舍不得买,反复去苹果商店去看手机价格超出预算失望而归,就在此时出现一位神秘人物(代理者)告诉张三我可以低价买到你想要的手机.这个时候张三就跟神秘人物(代理者)进行沟通让神秘人物(代理者)帮他购买一部手机。故事结尾张三成功买到IPhoneX。故事结束 

接下来直接上代码

根据上述需求,总结出3点:张三、神秘人物、苹果商店;请看如下代码

//定义张三

public class Person  implements PhoneFactory   {

        public void buyIPhoneX(double money){

                System.out.println("我需要一部IPhoneX手机,价格为:"+money)

        }

}

//苹果商店定义接口    

public interface PhoneFactory  {

    void buyIPhoneX(double money);

}

//定义神秘人物

public class Company  implements InvocationHandler{

        private Object factory;  

        public void setFactory(Object factory) { 

                this.factory = factory;

        }   

      //创建代理对象 

       public Object getProxyInstance(){

               return Proxy.newProxyInstance(factory.getClass().getClassLoader(), factory.getClass().getInterfaces(), this);

        }

        //通过动态代理对象方法进行操作

        @Override

         public Object invoke(Object proxy, Method method, Object[] args) throws Throwable { 

                //factory :张三   args:参数   100.0

                  return method.invoke(factory, args); 

            } 

}

public class Client{

        //创建张三

        PhoneFactory  phoneFactory = new Person();

        //创建代理者

        Company company = new Company();

        company.setFactory(phoneFactory )

        Phone phoneProxy = company.getProxyInstance();

        //张三出100拿到手机

        phoneProxy.IPhoneX(100.0)

}

最后输出:我需要一部IPhoneX手机,价格为:100.0

以上代码手写的,如果有错误万分感谢大佬点评

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • IoC 容器 Bean 的作用域 自定义作用域实现 org.springframework.beans.facto...
    Hsinwong阅读 2,502评论 0 7
  • 一. Java基础部分.................................................
    wy_sure阅读 3,834评论 0 11
  • 韩露 112期学员 423期感谢一组志工 打卡第284天(上海) 455期努力一组志工 打卡第221天(无锡) 上...
    Chris_han7阅读 248评论 0 1
  • 冲下楼,唐雅已经开车出了厂,也不知道跑去了什么地方。 拨打电话,唐雅也不接,看来这妞应该是觉得姐姐那样做,不好意思...
    可可豆子阅读 296评论 0 5
  • 今夜这匹圈养的家马,突然发了疯似的,极度兴奋,左摇右摆,大有脱缰之势。 难得的激动,少见的高昂,竟出自于“窈窕淑女...
    梨花残泪阅读 275评论 0 1