Java反射机制-获取类对象
Java程序在Java虚拟机运行的时候,会通过虚拟机进行一次类似读取信息的操作。
Java虚拟机会通过编译好的.class文件,来获取类信息。
Java反射机制就是模拟这样的一个流程来让我们在运行的过程中可以知道类的信息。
Java反射机制的两个常见的类: Class 和ClassLoader
Class类主要是获取类的信息和操作类。
ClassLoader主要是加载类到虚拟机上,就是类加载器。
在程序运行的时候,Java虚拟机会通过ClassLoader从上到下的加载类信息。
我们可以看到 在java程序进入虚拟机运行的时候,首先加载的就是Object所有类的父类。
它会从上至下的加载各种接口和类。
在加载的过程,加载到的类会产生一个类对象. 一个类只有一个类对象.
类对象就是Class类的对象
获取Class类对象的方式有三种:
类名.class
类对象名.getClass();getClass
Class.forName(className);
这时就可以通过获取到的类对象进行对类信息的一系列操作。
Class.forName("test1.ClassA");
正常情况下,我们写的类名都是 ClassA,其实 这个ClassA就跟别名一样,它的全名是包名加上类名 也就是test1.ClassA