欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

关于java中反射的小结

程序员文章站 2022-10-10 20:18:56
一、Class 1、 Class是一个类,封装了当前对象所对应的类的信息 2、小写class表示是一个类类型,大写Class表示这个类的名称 3、对于每个类而言,JRE 都为其保留一个不变的 Class 类型的对象。一个 Class 对象包含了特定某个类的有关信息。 4.Class 对象只能由系统建 ......

一、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