JAVA反射

用于描述JAVA类的这个类就是Class,是一个前面大写的C的类,这个类描述了一个普通类的所有信息,比如字段,方法,所实现的接口。也就是说这个类描述了所有类的共用的一些信息。可以用一个类名.class的方式得到这个类的一份字节码。比如说Person.class,List.class,等等。。

 

反射是JAVA类中的各种成分映射成相对应的JAVA类。比如说字段,就用字段类Filed,方法就用方法类Method。一个JAVA类当中的成分无非就是字段,方法,其中方法有普通方法和构造方法,还有这个类所属的包名,也就是用Package这个类来表示。

Foo f = (Foo) Proxy.newProxyInstance(Foo.class.getClassLoader(),new Class[] { Foo.class },handler);

第一个参数,Foo代表该接口的子类或者是实现过Foo接口的对象,后面是通常是接上目标类的类加载器,第二个参数是目标类的字节码,第三个参数是InvocationHandler接口的实现类的对象。

 

Object invoke(Object proxy, Method method, Object[] args),

这是InvocationHandler里面的唯一的一个方法,有三个参数,proxy表示代理对象,不过通常是传入目标对象使用,因为目标对象和代理对象实现了相同的接口,第二个是目标对象或者是代理对象的方法,通过这个参数经过反射可以执行目标类上的方法,第三个参数是目标对象上方法的具体参数。

 

 

 

 

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值