反射机制的定义,作用是什么?以及Java反射机制API

1.反射机制定义

反射的概念是由Smith在1982年首次提出的,主要是指程序可以访问、检测和修改其本身状态或行为的一种能力。

在Java环境中,反射机制允许程序在执行时获取某个类自身的定义信息,例如熟悉和方法等也可以实现动态创建 类的对象、变更属性的内容或执行特定的方法的功能。从而使Java具有动态语言的特性,增强了程序的灵活性和可移植性。


2.反射机制的作用

Java反射机制主要用于实现以下功能。

(1)在运行时判断任意一个对象所属的类型。

(2)在运行时构造任意一个类的对象。

(3)在运行时判断任意一个类所具有的成员变量和方法。

(4)在运行时调用任意一个对象的方法,甚至可以调用private方法。

注意:上述功能都是在运行时环境中,而不是在编译时环境中。


3.Java反射机制API

实现Java反射机制的API在Java.lang.reflect包下,具有以下几点。

(1)Class类:代表一个类。

(2)Filed类:代表类的成员变量。

(3)Method类:代表类的方法。

(4)Constructor类:代表类的构造方法。

(5)Array类:提供了动态创建数组及访问数组元素的静态方法。该类中的所有方法都是静态的。


4.应用示例

(1)根据类名获取类中定义的所有属性和方法,实例代码如下:

Student类的定义如下

Java语言反射提供一种动态链接程序组件的多功能方法。它允许程序创建和控制任何类的对象, 无需提前硬编码目标类。这些特性使得反射特别适用于创建以普通方式与对象协作的库。


反射在性能方面会有一定的损耗,用于字段和方法接入时反射要远慢于直接写代码。如果它作为程序 运行中相对很少涉及的部分将不会造成影响,因为即使测试最坏情况下的计时图显示的反射操作也只耗用几微秒。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 整理来自互联网 1,JDK:Java Development Kit,java的开发和运行环境,java的开发工具...
    Ncompass阅读 1,562评论 0 6
  • 一:java概述: 1,JDK:Java Development Kit,java的开发和运行环境,java的开发...
    慕容小伟阅读 1,852评论 0 10
  • 一:java概述:1,JDK:Java Development Kit,java的开发和运行环境,java的开发工...
    ZaneInTheSun阅读 2,718评论 0 11
  • 我的伴侶都不是用條件清單找來的,房子、車子、錢、名與利.......有無我都隨意,一切只要我歡喜,直至今日,放任...
    愛芮阅读 208评论 0 1
  • 其中让我印象最深刻的情节是小苏愤恨的说自己的表现较好,但是还是在评比中被家庭成分绊住了脚,这从侧面体现了这个时期政...
    终为鱼阅读 171评论 0 0