Java反射简易教程
关于Java反射,我们需要弄懂以下几个问题:
反射是什么?反射有什么用?怎么用反射?
下面我们来一一进行讲解:
一、反射是什么?
Reflection的意思是“反射、映象、倒影”,用在Java身上指的是我们可以于运行时加载、探知、使用编译期间完全未知的classes。换句话说,Java程序可以加载一个运行时才得知名称的class,获悉其完整构造(但不包括methods定义),并生成其对象实体、或对其fields设值、或唤起其methods。
Java反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性及方法;对于任何一个对象,都能够调用它的任意一个方法;这种动态获取信息以及动态调用对象的方法的功能称为Java的反射机制。
1.自省(Introspection)vs.反射(Reflection)
反射经常和自省弄混,为了区别,我们先看看两者的详细定义:
自省(Introspection):
Introspectionistheabilityofaprogramtoexaminethetypeorpropertiesof
anobjectatruntime.
反射(Reflection):
Reflectionistheabilityofaprogramtoexamineandmodifythestructure
andbehaviorofanobjectatruntime.
从上述定义,我们可以看出,自省是反射的子集。部分语言支持自省,但是不支持反射,比如C++。
2.自省示例vs.反射示例
自省示例:instanceof操作符用于判断一个对象是否属于一个特定的类。
if(obj instanceof Dog) { Dog d = (Dog)obj; d.bark();}
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
Java反射简易教程
下载Word文档到电脑,方便收藏和打印~
相关文章
- Java 正则表达式的语法规则究竟是什么?(Java正则表达式的语法规则是什么)
- 在 Java 中怎样高效地使用 SQL 语句?(java中如何使用sql语句)
- 如何理解 Java 中的 contains 方法及其工作原理?(Java的contains如何工作)
- 如何设计 Java WebAPI 的 RESTful 服务?(Java WebAPI如何设计RESTful服务)
- 在 Java 中,序列化过程中 put 方法究竟有怎样的影响呢?(Java中put方法在序列化中的影响)
- 如何解决 Java 构建路径问题?(java构建路径问题怎么解决)
- Java 连接不上数据库的原因主要有哪些?(java连不上数据库的原因有哪些)
- 为什么在爬虫开发中更倾向于选择 Java?(为什么选择java做爬虫开发)
- 如何实现 Java 中两个 List 的交集?(java两个list取交集怎么实现)
- Java 中哪些字符需要进行转义?(java需要转义的字符有哪些)