初见Java反射

先放两个连接:https://blog.csdn.net/sinat_38259539/article/details/71799078html

                        https://www.cnblogs.com/ysocean/p/6516248.html设计模式

什么是反射:在运行状态中,对一个任意的类均可以知道这个类的全部属性和方法,对于任意一个对象都能调用任意方法和属性,而且能改变它的属性,而这也是Java被视为动态(或准动态,为啥要说是准动态,由于通常而言的动态语言定义是程序运行时,容许改变程序结构或变量类型,这种语言称为动态语言。从这个观点看,Perl,Python,Ruby是动态语言,C++,Java,C#不是动态语言。)语言的一个关键性质。框架

另外一种理解jvm

 

总结下就是new student();时候jvm去本地找这个class文件,建立一个student对象空间,加载自动建立一个class对象,而后经过这个class对象反向去获取student的内容信息性能

反射能作什么:其实反射运用的就是class类的相关方法,能对正在运行的类进行一些常规的操做.net

 

当时用配置文件来使用Java反射的时候,在src目录下放相似txt这样的配置,到时只用改配置就能够直接切换获取内容,不须要注释代码。设计

 

反射提供了一种运行期获取对象元信息的手段。写框架代码用的比较多,由于须要运行时动态获取和操做对象的属性和方法。尽可能少用反射,会有性能开销,大多数场景下能够用设计模式代替3d

相关文章
相关标签/搜索