java反射机制详解与应用

java反射机制详解与应用


2024年5月22日发(作者:)

java有着一个非常突出的动态相关机制:Reflection。这个字的意思是“反射、映象、

倒影”,用在Java身上指的是我们可以于运行时加载、探知、使用编译期间完全未知的

classes。换句话说,Java程序可以加载一个运行时才得知名称的class,获悉其完整构造

(但不包括methods定义),并生成其对象实体、或对其fields设值、或唤起其methods1。

这种“看透class”的能力(the ability of the program to examine itself)被称为

introspection(内省、内观、反省)。Reflection和introspection是常被并提的两个术语。

这个机制允许程序在运行时透过Reflection APIs取得任何一个已知名称的class的

内部信息,包括其modifiers(诸如public, static 等等)、superclass(例如Object)、

实现之interfaces(例如Cloneable),也包括fields和methods的所有信息,并可于运

行时改变fields内容或唤起methods。

目前好多框架都会用到java的反射机制。比如struts2,sping,hibernate。

如果我们不用struts2,自己写一个类似的功能也是可以实现的,比如浏览器通过HTTP

发送数据,而这些数据都是字符串,我们接受到这些字符串时, 可以通过反射去构造一个

对象(通过拦截器做成框架的功能),这样就可以用对象的get和set方法了,而不用原始的

getPeremter方法。事实上, 在struts2出来之前,我们又不想用struts1的ActionForm

就做过这样项目。

一、Class object 的产生方式有以下几种。

1、运用getClass()

注:每个class 都有此函数

String str = "abc";

Class c1 = ss();

2、运用static method e()(最常被使用)

Class c1 = e ("");

Class c2 = e ("");

3、运用.class 语法

Class c1 = ;

Class c2 = ;

4、运用primitive wrapper classes的TYPE 语法

Class c1 = ;

Class c2 = ;

二、Java类反射中的主要方法

对于以下三类组件中的任何一类来说 -- 构造函数、字段和方法 --

提供四种独立的反射调用,以不同的方式来获得信息。调用都遵循一种标准格式。以下是


发布者:admin,转转请注明出处:http://www.yc00.com/web/1716350676a2727449.html

相关推荐

发表回复

评论列表(0条)

  • 暂无评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信