Class类的对象 描述的是 每个java类的字节码文件对应的信息。
类加载中的第一步“加载”就是把描述类的数据从Class文件加载到内存,这里的Class文件是一串二进制字节流,内存指的就是方法区中描述字节码—对应信息的一块区域,通过Class类的一个对象来描述。
(说白了,Class类对象就是把字节码加载进方法区对应的信息)
包括的字段有:这个java类的名字(通过getName()方法可以获得)、属性、构造方法、成员方法,且其中属性通过Fiele[]对象数组来描述,构造方法通过Constructor[]对象数组描述,成员方法通过Method[]对象数组描述等。
反射:将类的各个组成部分封装为其他对象(Fiele[]对象数组、Constructor[]对象数组、Method[]对象数组等)。
获取Class类对象的三种方式:
1、只有Class字节码,还没加载进内存
通过Class cp=Class.forName("全类名");
2、已经加载进内存了
可以通过Class cp=类名.class;
3、已经把java类实例化了
可通过Class cp=对象.getClass();
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Class对象提供的功能: