关于java中反射的小结

小短腿 2018-12-06 01:4631 阅读

一、Class

1、 Class是一个类,封装了当前对象所对应的类的信息

2、小写class表示是一个类类型,大写Class表示这个类的名称

3、对于每个类而言,JRE 都为其保留一个不变的 Class 类型的对象。一个 Class 对象包含了特定某个类的有关信息。 

4.Class 对象只能由系统建立对象,一个类(而不是一个对象)在 JVM 中只会有一个Class实例

获取Class对象的三种方式   1.通过类名获取      类名.class       2.通过对象获取      对象名.getClass()   3.通过全类名获取    Class.forName(全类名) 实际调用的是类的无参数的构造器。所以在我们在定义一个类的时候,定义一个有参数的构造器,作用是对属性进行初始化,还要写一个无参数的构造器,作用就是反射时候用。

一般地、一个类若声明一个带参的构造器,同时要声明一个无参数的构造器

二、反射

     Reflection(反射)是Java被视为动态语言的关键,反射机制允许程序在执行期借助于Reflection API取得任何类的內部信息,并能直接操作任意对象的内部属性及方法。   

    Java反射机制主要提供了以下功能:

               在运行时构造任意一个类的对象

    在运行时获取任意一个类所具有的成员变量和方法

    在运行时调用任意一个对象的方法(属性)

    生成动态代理   

Class 是一个类; 一个描述类的类.   

   封装了描述方法的 Method,              

   描述字段的 Filed,              

   描述构造器的 Constructor 等属性.

 

详细介绍:https://www.cnblogs.com/caolei1108/p/6208164.html

回复数量: 0
暂无评论~~
  请勿发布不友善或者负能量的内容。与人为善,比聪明更重要!