那么什么是Java的反射呢? 大家都知道,要让Java程序能够运行,那么就得让Java类要被Java虚拟机加载。Java类如果不被Java虚拟机加载,是不能正常运行的。现在我们运行的所有的程序都是在编译期的时候就已经知道了你所需要的那个类的已经被加载了。 Java的反射机制是在编译并不确定是哪个类被加载了,而是在程序运行的时候才加载、探知、自审。 使用在编译期并不知道的类。这样的特点就是反射。 怎么理解这段话 呢? 事实上,所有的class文件,在项目启动的时候,都被jvm加载,并且产生一个class对象。“使用在编译期并不知道的类”,指的并不是说没有被JVM加载,而是指使用这个 类的主体并不知道要加载的是一个什么类,只有在运行期间,才知道。这就是反射!
|
|