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();
}

网站栏目:Java反射简易教程-创新互联
文章地址:http://ybzwz.com/article/cegjch.html