一、反射的概述
JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性;这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制。
**通俗的说法就是:**编写的时候都是.java文件,经过jvm 编译成.class,反射也就是在.class文件里下手,得到想要的方法和属性。类的所有信息在反射面前都是裸体,一般好的框架的封装都用到了反射(spring,mybatis)。
如何获取.class文件呢?
获取.class文件有三种方式
第一种 getclass
第二种通过类名.class
第三种 forName();
二、通过反射机制获取类信息
//获取所有的构造方法(包括公有和私有)
//实例化这个对象.newInstance() 返回的类型是一个Object类型。
//获取私有的构造方法
//获取属性
//给私有的属性赋值
//set()第一个参数(您要赋值的对象)第二个参数(你要赋的值)
//获取方法
//(动态来调用此方法,超级常用,封装好一点的框架都会用到)
//用反射来忽略泛型