java反射机制第一讲,什么是反射,为什么要用到反射

            java反射机制的定义

本篇主要介绍java反射机制的定义,为什么要使用反射。要明白反射要先了解类加载器,下面先谈谈类的加载器,运行java程序时,就要加载程序的里面的类,类就是通过加载器来加载的,类加载器主要有以下三种。
1.Bootstrap Classloader (根类加载器),主要加载核心类库,在JDK中JRE的lib目录下rt.jar文件中。
2.Extension Classloader(扩展加载器),负责JRE的扩展目录中jar包的加载,在JDK中通JRE的lib下ext目录。
3.System Classloader (系统加载器),负责JVM启动时加载来自java命令的class文件(就是我们自己编译的代码),以及第三方引用的相关工具jar包,例如selenium-server-standalone-3.5.0.jar。

Java反射机制:在运行状态中,对于任意一个类,都能知道这个类的所有属性和方法;对于任意一个对象,都能够调用他的任意一个方法和属性,这种动态获取信息以及动态调用对象方法的功能,我们称为java语言的反射机制。
为什么要用反射?这里用个通俗的例子来说,比如有个java程序已经做得很完善了,现在要加新的功能,但是不希望改变原来的代码。新加的功能写的这些类如何运行呢?如何拿到新写的类的方法和属性,就可以通过反射来实现。通过反射机制将类剖解,获得该类的class文件的对象,从而获取该类的方法和属性。

你可能感兴趣的:(Java反射机制)