Java反射机制动态代理

packagecom.kaige123;/** * 程序员 *@author凯哥  */publicinterfaceChengxuyuan{/**

* 写代码方法

*/publicvoidxiedaima();}

packagecom.kaige123;/** * 程序员接口实现类 *@author凯哥 */publicclassChengxuyuanImplimplementsChengxuyuan{publicvoidxiedaima(){         System.out.println("写代码...");    } }

packagecom.kaige123;importjava.lang.reflect.InvocationHandler;importjava.lang.reflect.Method;/** * 处理类 *@author凯哥 */publicclassCxyHandlerimplementsInvocationHandler{//程序员实现对象传递privateChengxuyuan c;publicCxyHandler(Chengxuyuan c){this.c = c;    }/**     * 程序员接口的方法只要被调用就会通知到吃方法上     *@paramproxy 代理对象      *@parammethod 告诉你 调用的方法 封装对象     *@paramargs 参数     */publicObjectinvoke(Object proxy, Method method, Object[] args)throwsThrowable{        System.out.println("方法名称:"+method.getName());        System.out.println("喝个咖啡,先把衣服穿上");        Object obj=method.invoke(c, args);//调用方法System.out.println("衣服脱了,继续喝咖啡");returnobj;    }}

packagecom.kaige123;importjava.lang.reflect.Method;importjava.lang.reflect.Proxy;/** * 测试类 *@author凯哥 * */publicclassTest{publicstaticvoidmain(String[] args){//实现类对象ChengxuyuanImpl chengxuyuanImpl =newChengxuyuanImpl();//得到反射类Class classs = chengxuyuanImpl.getClass();//创建处理类 然后把实现类对象传递CxyHandler handler =newCxyHandler(chengxuyuanImpl);//开始创建代理对象 然后把代理对象转换成接口类型Chengxuyuan chengxuyuan = (Chengxuyuan)                 Proxy.newProxyInstance(                        classs.getClassLoader(),                         classs.getInterfaces(),                        handler);//调用方法  有如  >>>invoke(Object proxy, Method method, Object[] args)  >> xiedaima() >>调用完毕chengxuyuan.xiedaima();    }}

结果:

方法名称:xiedaima

喝个咖啡,先把衣服穿上

写代码...

衣服脱了,继续喝咖啡

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 32,414评论 18 399
  • 这部分主要是开源Java EE框架方面的内容,包括Hibernate、MyBatis、Spring、Spring ...
    杂货铺老板阅读 5,303评论 0 2
  • 《转》JAVA动态代理(JDK和CGLIB) 代理模式是常用的java设计模式,他的特征是代理类与委托类有同样的接...
    奈何心善阅读 1,747评论 0 0
  • 学习Android的同学注意了!!!学习过程中遇到什么问题或者想获取学习资源的话,欢迎加入Android学习交流群...
    kingZXY2009阅读 2,586评论 0 0
  • 有这么一种说法,喜欢小动物的人孤僻,躲起来与外界格格不入,小动物是全部的精神寄托,仿佛受到了伤害只能和小动物一起舔...
    溪水音阅读 4,288评论 12 6

友情链接更多精彩内容