反射机制
Java反射机制 是指在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性;这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制。简单来说就是 将类的各个组成部分封装为一个对象
Java被称为准动态语言,主要就是因为反射机制。
我们都知道,我们写的代码都在 .java文件中,通过javac编译 成.class 的字节码文件,这个过程是在硬盘上,要想把字节码文件加载到内存 需要用到类加载器 ClassLoader,在内存中有一个对象描述字节码文件 即 Class类 对象(万物皆对象)。Class类的类表示正在运行的Java应用程序中的类和接口, 类对象由Java虚拟机自动构建。
Class类对象中主要包括:
成员变量: 封装为 Field对象
构造方法:封装为 Constructor对象
成员方法:封装为 Method对象
优点:①程序运行过程中,操作这些对象
②可以解耦,提高程序的可扩展性
获取Class类对象的方法:
1、通过 Class.forName(“所需类的完全限定名称”) 全类名,即包含包名
将字节码文件加载至内存,返回Class对象 【推荐使用】
//当前包下有一个Person类