- 浏览: 248861 次
- 性别:
- 来自: 深圳
-
文章分类
最新评论
-
sweed0:
为何每一段代码都重复一次呢?
spring注解实例二 -
Gary_Huangpf:
- - 插件报错啊
Ext前台分页 -
ddvk2007:
版主 我想請問你所說的mapreduce是hadoop的還是g ...
MapReduce中的Shuffle和Sort分析 -
人可木:
好问章,楼主写的相当详细。。。多谢。。。
findbugs插件的安装与应用 -
hautbbs:
按照博主的方法启动调试出现jvm terminated.Ex ...
10分钟学会使用MyEclipse断点调试js
JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法;这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制。
Java反射机制主要提供了以下功能: 在运行时判断任意一个对象所属的类;在运行时构造任意一个类的对象;在运行时判断任意一个类所具有的成员变量和方法;在运行时调用任意一个对象的方法;生成动态代理。
1. 得到某个对象的属性
Class ownerClass = owner.getClass():得到该对象的Class。
Field field = ownerClass.getField(fieldName):通过Class得到类声明的属性。
Object property = field.get(owner):通过对象得到该属性的实例,如果这个属性是非公有的,这里会报IllegalAccessException。
2. 得到某个类的静态属性
Class ownerClass = Class.forName(className) :首先得到这个类的Class。
Field field = ownerClass.getField(fieldName):和上面一样,通过Class得到类声明的属性。
Object property = field.get(ownerClass) :这里和上面有些不同,因为该属性是静态的,所以直接从类的Class里取。
3. 执行某对象的方法
Class owner_class = owner.getClass() :首先还是必须得到这个对象的Class。
5~9行:配置参数的Class数组,作为寻找Method的条件。
Method method = ownerClass.getMethod(methodName, argsClass):通过methodName和参数的argsClass(方法中的参数类型集合)数组得到要执行的Method。
method.invoke(owner, args):执行该Method.invoke方法的参数是执行这个方法的对象owner,和参数数组args,可以这么理解:owner对象中带有参数args的method方法。返回值是Object,也既是该方法的返回值。
4. 执行某个类的静态方法
基本的原理和实例3相同,不同点是最后一行,invoke的一个参数是null,因为这是静态方法,不需要借助实例运行。
5. 新建实例
这里说的方法是执行带参数的构造函数来新建实例的方法。如果不需要参数,可以直接使用newoneClass.newInstance()来实现。
Class newoneClass = Class.forName(className):第一步,得到要构造的实例的Class。
第5~第9行:得到参数的Class数组。
Constructor cons = newoneClass.getConstructor(argsClass):得到构造子。
cons.newInstance(args):新建实例。
6. 判断是否为某个类的实例
7. 得到数组中的某个元素
发表评论
-
解析网页利器组合(正则、jsoup、beanshell、dozer)资源
2012-05-31 16:09 1465由于项目需要使用java正则、jsoup、dozer、bean ... -
Java正则表达式(二)
2012-05-31 15:47 867Matcher类: 使用Matcher类,最重要的 ... -
Java正则表达式(一)
2012-05-31 15:46 857正则表达式在处理文本方面用处非常大,最早像在Perl和awk语 ... -
Java正则表达式详解
2012-05-31 15:45 847如果你曾经用过Perl或 ... -
理解String与String.intern()
2012-01-05 15:44 8411. 首先String不 ... -
StringUtils工具类的常用方法
2011-11-25 15:24 945StringUtils 方法的操作对象是 java.lan ... -
主题:深入分析 Java 中的中文编码问题
2011-11-11 09:06 1009几种常见的编码格式 ... -
Java中的乱码问题
2011-09-01 09:35 1102Java中乱码问题很常见,原因也多种多样,这里做一个总结, ... -
java编程中'为了性能'一些尽量做到的地方
2011-08-25 11:42 875最近的机器内存又爆满了,出了新增机器内存外,还应该好好re ... -
利用java反射原理写了一个简单赋值和取值通用类
2011-08-22 09:50 2459由于项目的实际需要,所以利用java反射原理写了一个简单给be ... -
Java实现给图片添加水印
2011-08-22 09:41 2100周末在家上围脖,看到sina围脖上图片都有水印,想到Jav ... -
java获取当前类的绝对路径
2011-08-03 10:41 1190在jsp和class文件中调用的相对路径不同。在jsp里, ... -
深入浅出URL编码
2011-08-03 10:30 802深入浅出URL编码 版权声明:如有转载请求,请注明出 ... -
URLConnection的连接、超时、关闭用法总结
2011-08-03 10:25 1349Java中可以使用HttpURLConnection来 ... -
Apache Rewrite实现URL的跳转和域名跳转
2011-07-28 11:31 1100Rewirte主要的功能就是实现URL的跳转,它的正则表达式是 ... -
文件、流总结
2011-07-27 09:31 14031、File类:File类位于java ... -
java对cookie的操作(转)
2011-07-18 15:56 989java对cookie的操作比较简单,主要介绍下建立coo ... -
java泛型
2011-07-18 15:42 832在Java SE1.5中,增加了一个新的特性:泛型(日本语 ... -
j2ee学习笔记——初试ssh之泛型通用dao(转)
2011-07-18 15:39 914在做项目的时候每次都为每个POJO实体写一个对应的DAO很 ... -
urlRewrite重写技术的运用(转)
2011-07-18 15:24 1220如何增强你网站中地址的可读性和让搜索引擎快速的收录到你的站点, ...
相关推荐
Java 反射机制详解及 Method.invoke 解释 Java 反射机制是 Java 语言中的一种功能,允许程序在运行时访问和修改类、对象、方法、变量等的信息。这种机制提供了许多强大的功能,例如在运行时判断对象所属的类、构造...
JAVA 反射机制详解 JAVA 反射机制是 Java 语言中的一种动态获取信息和动态调用对象方法的功能。它允许程序在运行时获取类的信息、构造对象、获取成员变量和方法、调用对象的方法等。 Java 反射机制主要提供了以下...
Java反射机制是Java核心特性之一,它允许程序在运行时动态地获取类的信息并操作类的对象。这使得Java具备了高度的灵活性和可扩展性,特别是在处理动态加载类、插件系统、序列化、框架设计等领域有着广泛的应用。 1....
### Java反射机制详解 #### 一、反射机制是什么 反射机制是Java编程语言的一个核心特性,它允许程序在运行时动态地获取类的信息,并且能够动态地创建对象和调用对象的方法。简单来说,反射机制使得Java程序可以...
Java 反射机制是 Java 语言中的一个重要特性,它允许程序在运行时动态地获取类的信息(如类名、属性、方法等)并调用对象的方法,甚至修改对象的状态。这一机制极大地增强了 Java 程序的灵活性和可扩展性,尤其是在...
### Java反射机制详解 在Java开发中,反射是一种强大的机制,允许程序在运行时检查类、接口、字段和方法的信息,并能动态地创建实例、调用方法或改变字段的值。这种灵活性对于某些应用场景(如插件架构、框架扩展等...
Java反射机制是Java编程语言中的一个重要特性,它允许程序在运行时动态地获取类的信息并进行操作。在Java中,反射机制主要通过`java.lang.Class`、`java.lang.reflect.Field`、`java.lang.reflect.Method`和`java....
### Java反射机制详解 #### 一、引言 在Java面试中,经常会出现与反射机制相关的题目。这是因为Java反射机制不仅是Java语言的一项重要特性,也是理解Java动态特性的关键所在。通过本文,我们将深入探讨Java反射...
### JAVA反射机制详解 #### 反射机制简介 在Java编程语言中,反射是一种非常强大的功能,它允许程序在运行时动态地获取类的信息并直接操作这些类的对象。这一特性极大地提高了程序的灵活性和可扩展性。根据描述,...
Java反射机制是Java编程语言中的一个强大特性,它允许程序在运行时检查和操作类、接口、字段和方法。在Java中,反射机制是通过java.lang.Class类和相关的API实现的,它为我们提供了动态访问和操作类的能力。下面将...
Java反射机制是Java语言提供的一种强大的工具,它允许程序在运行时动态地获取类的信息(如类名、属性、方法等)并进行操作。反射机制是基于Java的动态类型特性的,它使得Java具备了“元编程”的能力,即在运行时分析...
下面将深入探讨Java反射机制的概念、原理及在Android开发中的应用。 一、Java反射机制概述 Java反射机制的核心在于Class类,它是所有类的元数据容器。通过Class对象,我们可以在运行时获取到类的完整信息,包括类名...
【Java反射机制详解】 Java反射机制是Java编程语言的核心特性之一,它允许程序在运行时检查和操作类、接口、对象等的内部结构。反射在Java中扮演着至关重要的角色,尤其是在开发框架、动态代理、元数据处理以及高度...
Java 中 Method 的 Invoke 方法详解 Java 中的 Method 对象提供了 invoke 方法,这个方法可以动态地调用 Java 方法。下面详细介绍了 invoke 方法的实现机制。 首先,在调用 invoke 方法之前,需要检查 ...
Java 反射机制详解 Java 反射机制是 Java 语言提供的一种强大的工具,它允许程序在运行时动态地获取类的信息(如类名、属性、方法等)并进行操作。这种能力使得 Java 应用程序更加灵活,能够在运行时发现和修改自身...
Java反射机制是Java语言提供的一种强大的工具,它允许程序在运行时动态地获取类的信息以及对类的对象进行操作。在Java中,一切皆为对象,类也不例外。`java.lang.Class`类是反射的起点,它代表了Java运行时的类信息...
Java反射机制是Java语言的一种强大的特性,它允许程序在运行时动态地获取类的信息并操作类的对象。在Java中,反射主要涉及到`java.lang.Class`类、`java.lang.reflect`包中的类(如Constructor、Method、Field)以及...