反射总结理解:
我们写好的.java 文件编译为.class 文件,在运行需要时,jvm中的类加载器会加载对应的.class字节码文件到方法区,生成一个class对象,class对象没有构造方法,继承于object类,并实现了几个接口。每一个被加载到jvm中类只会被加载一次,并且生成一个class对象。
通过class对象可以获取到类的构造方法,成员属性,成员方法,对应的类的描述(例如:public privated 的修饰属性)
之后可以可以动态的创建对象,调用对象的方法。
如果一个对象中有一个private 属性变量并且想对其设置,但是又没有提供 get set public的设置方法,该怎么办?
此时可以考虑反射的方式给该属性变量设置。
反射应用场景:https://segmentfault.com/a/1190000010162647?utm_source=tuicool&utm_medium=referral
此博客写的非常好!建议去查看!!