什么是反射
反射是指对于任何一个Class类,在运行的时候都可以直接得到这个类的全部成员
在运行的时候,可以直接得到这个类的构造器对象:Constructor
在运行时,可以直接得到这个类的成员变量对象:Field
在运行时,可以直接得到这个类的成员方法对象:Method
这种运行时动态获取类信息以及动态调用类中成分的能力称为语言的反射机制
反射的关键
反射的第一步都是先得到编译后的Class类对象,然后就可以得到Class的全部成分
这里的类对象并不是new出来的一个此种类的对象,而是这个类本身,它的类型是类类型
我们可以把类类型理解为人类,而类的对象我们理解为人
反射怎么获得对象
反射获得类对象
机器内部如何产生Class对象
JVM编译文件,产生class文件,在运行时在内存中产生Class对象
怎么通过API得到Class对象
1.Class c=Class.forName(“包名.类名”);其实就是类存放的相对路径
2.Class c=类名.class
3.Class c=对象.getClass();通过对象获得类类型
反射获得构造器对象
得到构造器对象是拿来干嘛的
权限被打开是暂时的只有一次
newInstance()方法返回的是Object类型,需要强制转换