简介反射与图说反射

介绍:
什么是java的反射机制?
Java反射机制是在运行状态中,对于一个任意一个类,都能够知道这个类的所有属性和方法,对于任意一个对象,都能够调用他的任意方法和属性,这种动态获取信息以及动态调用对象的方法的功能称为java语言的反射机制
图说反射:看图
简介反射与图说反射
a文件进行编译成.class文件,然后虚拟机中的加载器对他进行加载,然后动态获取这个类的属性和方法,也可生成它的实例
作用:
用来编写一些通用性较高的代码或者框架的时候使用
常用对象:
Class类
Class类的实例对象表示正在运行的Java应用程序的类和接口
Constructor类
关于类的单个构造方法的信息以及他的访问权限
Field类
Field提供有关类或者接口的单个字段的信息,以及对它的动态访问权限
Method类
Method提供关于类或者接口上单独某个方法的信息
简介反射与图说反射
他们具体的使用:
Class类:
代表某个类的字节码,并提供了加载字节码的方法forName(“包名.类名”);这个方法用于加载类字节码到内存中,并且封装成一个class对象返回
如何得到某个class文件对应的class对象:
已知类名和对象:
类名.class
对象名.getClass()
未知
Class.forName(“包名.类名”);
Constructor类
Construc类的实例对象代表类的一个构造方法
得到某个类所有的构造方法
getConstructors()
得到指定的构造方法
getConstructor(String.class)
它返回一个Constructor对象,它反映此class对象所表示的类的指定的一个公共构造方法。这些class对象按声明顺序标识构造方法的形参类型
newInstance()方法
使用此 Constructor 对象表示的构造方法来创建该构造方法的声明类的新实例,并用指定的初始化参数初始化该实例。也就是实例化对象