当前位置: 首页 > news >正文

长宁区网站建设设小程序是怎么制作出来的

长宁区网站建设设,小程序是怎么制作出来的,大良网站设计价格,移动互联网开发的特点jdk动态代理:基于反射动态生成代理对象 pwp动态代理的步骤比较复杂,无需特别深入的理解,在jdk中固定的步骤,只需要知道这些步骤即可,不必钻牛角尖 动态代理涉及到的三个反射包类 InvocationHandlerMethodProxy 1. InvocationHand…

jdk动态代理:基于反射动态生成代理对象

pwp动态代理的步骤比较复杂,无需特别深入的理解,在jdk中固定的步骤,只需要知道这些步骤即可,不必钻牛角尖

动态代理涉及到的三个反射包类

  1. InvocationHandler
  2. Method
  3. Proxy

1. InvocationHandler接口(调用处理器)

就一个invoke()方法,表示代理对象要执行的功能代码。你的代理类要完成的功能就写在invoke方法中
参数:
Object proxy:jdk创建的代理对象,无需赋值。
Method method:目标类中的方法,jdk提供的method对象。
Object[ ] args:目标类中方法的参数,jdk提供的。

2、Method类

表示方法的,确切的说 就是目标类中的方法。
作用:通过Method可以执行某个目标类中的方法,Method.invoke();

Method.invoke(目标对象,方法的参数);
Object res = method.invoke(target, “刘龙”);//这里不需要指定方法的名称,jdk会帮我们寻找

说明:Method.invoke();就是帮我们指定目标方法的,代替目标方法的执行,等同于静态代理中的使用目标类调用方法。

//创建接口
public interface sell {void sellcart(String name);
}
//创建接口实现类
public class railway implements sell {@Overridepublic void sellcart(String name) {System.out.println(name+"在火车站出售了火车票--------");}
}
public class TestApp {public static void main(String[] args) throws NoSuchMethodException, InvocationTargetException, IllegalAccessException {//使用反射机制执行sellcart方法,核心Method(类中的方法)sell target = new railway();//获取sellcart名称对应的Method类对象Method method = sell.class.getMethod("sellcart", String.class);//通过Method可以执行 sellcart方法调用/*** invoke是Method类中的一个方法。表示执行方法的调用* 参数:* 1、Object 表示对象的,要执行这个对象的方法* 2、Object...args、方法执行时的参数值返回值:Object:方法执行后的返回值*///表达的意思就是,执行target对象的sellcart方法,参数是刘龙Object res = method.invoke(target, "刘龙");//执行代理方法}
}

3、 Proxy类

动态代理的核心对象,创建代理对象。之前创建对象都是new类的构造方法(),现在我们是使用Proxy类的方法,代替new的使用。

方法:静态方法newProxyInstance()
作用是:创建代理对象,等同于静态代理中的TaoBao tao = new TaoBao();
参数:
1.ClassLoader loader类加载器:

负责向内存中加载对象的。使用反射获取对象的CladdLoader。例如类A a.getClass().getClassLoader(),目标对象的类加载器

2.Class<?>[] interfaces:接口,
目标对象实现的接口,也是反射获取的

3.InvocationHandler h:我们自己写的,代理类要完成的功能。
返回值:就是代理对象

实现动态代理的步骤

1.创建接口,定义目标类要完成的功能
2.创建目标类实现接口
3.创建InvocationHandler 接口的实现类,在invoke方法中完成代理类的功能
(1)调用目标方法
(2)增强功能
4.使用Proxy类的静态方法,创建代理对象。并把返回值转为接口类型

http://www.sczhlp.com/news/88823/

相关文章:

  • 建设网站为什么要虚拟主机城市建设灯具网站
  • 网站用户量免费公网网站建设
  • 公司网站规划关键词搜索优化
  • 个人免费建站系统网页设计学费
  • 用二级域名做的网站算新站吗iis7 网站无法显示该页面
  • 单页网站快速收录外语网站制作
  • 廊坊建站软件wordpress更换链接自动跳转
  • 凯里市经济开发区建设局网站手机网站生成app软件
  • 微信网站模板免费下载可以做流程图的网站
  • 扶余网站建设微商加人的24种方法
  • 84. 柱状图中最大的矩形
  • 东莞做网站-南城信科网站源码程序修改
  • 基于h5的网站开发建网站步骤
  • 直播网站建设模板WordPress表单支付插件
  • 福州网站建设找时时在网络上海大规模网站建设平台
  • 网站快速备案WordPress 固定域名
  • pc网站生成手机网站wordpress 调用自定义菜单
  • 网站换域名了怎么办seodw怎么做百度网站
  • 建设商务网站公司知识营销案例有哪些
  • 做网站用织梦好吗中小企业网站制作广州网络服务公司找赛合公司
  • wpsppt网站链接怎么做如何建设网站后台
  • 纸箱 东莞网站建设建设网站 关于竣工结算的期限
  • 逆波兰表达式求值+滑动窗口最大值
  • 单页营销分享网站seo排名软件怎么做
  • 个体工商户注册网站不动产网站建设
  • 网站免费正能量下载网站的物理结构
  • 课程网站开发背景如何维护网站
  • 高端商城网站建设软件外包公司名单
  • 沭阳做网站网站建立具体步骤是
  • 快速做课件的网站网站建设需要哪些证书