Java反射机制是指在程序运行时,对于JVM中任意的一个类,都可以知道这个类的所有属性和方法,以及可以任意调用类中的属性和方法,这种能够动态获取类的信息以及动态调用对象方法和获取对象属性的功能就称为Java的反射机制。
反射机制并不是所有语言都具备的,比如C与C++,但是如果需要的话,C或C++只是系统没有提供反射功能,是可以自己实现反射机制的。
本节主要讲解什么是反射,以及怎么使用反射,在什么场景下会用到,另外,反射会有什么作用、优缺点。
一般来说,事物都有双面性,有反自然也有正。先理解下“正反射”,也就是通过一般业务逻辑中的代码,new出对象实例,再获取对象的属性以及调用方法等。而反射,简单理解,不通过对象的实例,就可以获取对象的信息。
将new对象获取对象属性和信息视为按照正规流程找对象(比如相亲交流),可以获取到对象能让我们知道的信息,比如姓啥,家住何方,家有几人等等信息。使用反射需要我们提前知道对象的身份信息(姓名,住址),接下来不使用常规方式,直接找个侦探去调查,将对象的所有信息暴露在你面前。
反射允许Java程序运行时对自身进行检查(自审),并且能够直接操作对象的内部属性和方法等信息。
......
更多内容请阅读原文:
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。