反射初步学习

反射

1、什么是反射?

 

   1)、JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和

       方法;对于任意一个对象,都能够调用它的任意一个方法和属性。

   2)、使用反射,可以在运行是对类Class、构造方法Constructor、普通方法Method、字

       Filed进行操作。

2、Class对象

   1)、Class对象,是对class文件(字节码文件)的描述对象。

   2)、获得Class对象

           已知类的完整路径名(字符串):Class.forName(...)

           已知类型:String,class,确定参数列表

           已知对象:obj.getClass()

   3)、常用方法

           使用默认构造方法创建实例:newInstance()

3、Constructor对象

     1)、Constructor对象,是构造方法的描述对象。

     2)、获得构造方法

         公共的构造方法:

               Constructor<T>  getConstructor(Class<?>...parameterTypes),可变参数用于

               确定形式参数列表。

         已经声明的构造方法:

               Constructor<T>  getDeclaredConstructor(Class<?>...parameterTypes),获得私

               有的构造

     3)、实例化对象实例

         newInstanceObject...initargs,可变参数用于确定实际参数列表

 

4、Method对象

     1)、Method对象,是普通方法的描述对象。

     2)、获得构造方法

         获得公共方法:

               Method  getMethod(String  name,Class<?>...parameterTypes),通过方法

               name获得方法,可变参数为方法的形式参数列表

         获得声明方法:

               Method  getDeclaredMethod(String  name,Class<?>...parameterTypes),方

         法操作               

     3)、执行指定方法

         Object  invoke(Object  obj,Object....args),执行指定对象obj,制定方法,可变参数

         为方法的实际参数列表

 

5、Field对象

     1)、Field对象,是字段的描述对象。

     2)、获得方法

         获得公共方法:

               所有字段:Field getField(String name ),通过字段名称

               声明字段:Field getDeclaredField(String name )

     3)、操作

         获得内容:Object  get(Object obj)

         设置内容:void  set(Object  obj,Object  value),确定实例对象

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值