三九宝宝网宝宝百科宝宝知识

Java中的反射机制的原理和用途是什么

02月19日 编辑 39baobao.com

[Java反射机制系列初识JavaReflection]Ja 反射机制是指Ja程序可以在执行期载入,探知,使用编译期间完全未知的classes.这句话可能有点难以理解,我们可以通过一个例子来看。在Ja程序中我们经常会用到这样一条语句来创...+阅读

JAVA反射(放射)机制:“程序运行时,允许改变程序结构或变量类型,这种语言称为动态语言”。从这个观点看,Perl,Python,Ruby是动态语言,C++,Java,C# 不是动态语言。但是JAVA有着一个非常突出的动态相关机制:Reflection,用在Java身上指的是我们可以于运行时加载、探知、使用编译期间完 全未知的classes。换句话说,Java程序可以加载一个运行时才得知名称的class,获悉其完整构造(但不包括methods定义),并生成其对 象实体、或对其fields设值、或唤起其methods。

用途:Java反射机制主要提供了以下功能: 在运行时判断任意一个对象所属的类;在运行时构造任意一个类的对象;在运行时判断任意一个类所具有的成员变量和方法;在运行时调用任意一个对象的方法;生成动态代理。 有时候我们说某个语言具有很强的动态性,有时候我们会区分动态和静态的不同技术与作法。我们朗朗上口动态绑定(dynamic binding)、动态链接(dynamic linking)、动态加载(dynamic loading)等。

然而“动态”一词其实没有绝对而普遍适用的严格定义,有时候甚至像面向对象当初被导入编程领域一样,一人一把号,各吹各的调。 一般而言,开发者社群说到动态语言,大致认同的一个定义是:“程序运行时,允许改变程序结构或变量类型,这种语言称为动态语言”。从这个观点看,Perl,Python,Ruby是动态语言,C++,Java,C#不是动态语言。

尽管在这样的定义与分类下Java不是动态语言,它却有着一个非常突出的动态相关机制:Reflection。 这个字的意思是“反射、映象、倒影”,用在Java身上指的是我们可以于运行时加载、探知、使用编译期间完全未知的classes。换句话说,Java程 序可以加载一个运行时才得知名称的class,获悉其完整构造(但不包括methods定义),并生成其对象实体、或对其fields设值、或唤起其 methods。

这种“看透class”的能力(the ability of the program to examine itself)被称为introspection(内省、内观、反省)。Reflection和introspection是常被并提的两个术语。 Java如何能够做出上述的动态特性呢?这是一个深远话题,本文对此只简单介绍一些概念。整个篇幅最主要还是介绍 Reflection APIs,也就是让读者知道如何探索class的结构、如何对某个“运行时才获知名称的class”生成一份实体、为其fields设值、调用其 methods。

本文将谈到java.lang.Class,以及java.lang.reflect中的Method、Field、Constructor等等classes。

以下为关联文档:

java中实现多态的机制是什么多态很简单,意思就是一个接口,多种方法;多态又分为静态和动态,方法重载属于静态,方法覆盖和继承属于动态,说不清楚,给段代码给你做参考,能不能看懂就看你自己的了,这种事别人帮不了你...

大神解释一下java反射有什么作用java的反射机制就是增加程序的灵活性,避免将程序写死到代码里, 例如: 实例化一个 person()对象, 不使用反射, new person(); 如果想变成 实例化 其他类, 那么必须修改源代码,并重新编...

java中的反射机制是什么有什么作用啊JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性;这种动态获取的信息以及动态调用对象的方法...

java栈stack和堆heap的工作原理用途和区别java堆和栈的区别 Java中内存分成两种:一种是栈stack,一种是堆heap。 函数中的一些基本类型的变量(int, float)和对象的引用变量(reference)都在函数的栈中,马克-to-win,(工作于编译...

精油的作用和用途是什么什么是单方精油、复方精油? 单方精油就是单纯的一种精油,未将它与其他精油混合。例如使用熏衣草精油,就是使用熏衣草单方精油。复方精油就是两种或两种以上的精油混合,精油与精...

在java中什么是参数传递机制参数传递,就是方法调用过程中,调用者将参数传递给被调用者的过程。 其实Java中的所有参数传递,传递的都是一样的,参数直接引用值的复制体。 1. 只是对于Java基础类型(int、long、...

试验机分为几种用途工作原理及参数是什么电子拉力试验机有哪些分类 电子拉力试验机是现代电子技术与机械传动技术相结合的产物,是充分发挥了机电各自特长而构成的大型精密测试仪器,可对各种材料进行拉伸、压缩、弯曲...

java反射机制的作用比较全的解释了:JAVA反射机制 JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法;这种动态获取的信息...

java反射机制有什么用增加程序的灵活性。 如struts中。请求的派发控制。 当请求来到时。struts通过查询配置文件。找到该请求对应的action。已经方法。 然后通过反射实例化action。并调用响应met...

推荐阅读
图文推荐