文档下载 文档下载导航
设为首页 | 加入收藏
搜索 请输入内容:  
 导航当前位置: 文档下载 > 所有分类 > 经管营销 > java反射机制
侵权投诉

java反射机制

高考历史、文综历史专题复习【全部完成】

二、Java中的类反射:
Reflection 是 Java 程序开发语言的特征之一,它允许运行中的 Java 程序对自身进行检查,或者说“自审”,并能直接操作程序的内部属性。Java 的这一能力在实际应用中也许用得不是很多,但是在其它的程序设计语言中根本就不存在这一特性。例如,Pascal、C 或者 C++ 中就没有办法在程序中获得函数定义相关的信息。

1.检测类:

1.1 reflection的工作机制

考虑下面这个简单的例子,让我们看看 reflection 是如何工作的。

import java.lang.reflect.*;
public class DumpMethods {
public static void main(String args[]) {
try {
Class c = Class.forName(args[0]);
Method m[] = c.getDeclaredMethods();
for (int i = 0; i < m.length; i++)
System.out.println(m[i].toString());
} catch (Throwable e) {
System.err.println(e);
}
}
}

按如下语句执行:

java DumpMethods java.util.Stack

它的结果输出为:

public java.lang.Object java.util.Stack.push(java.lang.Object)

public synchronized java.lang.Object java.util.Stack.pop()

public synchronized java.lang.Object java.util.Stack.peek()

public boolean java.util.Stack.empty()

public synchronized int java.util.Stack.search(java.lang.Object)

这样就列出了java.util.Stack 类的各方法名以及它们的限制符和返回类型。

这个程序使用 Class.forName 载入指定的类,然后调用 getDeclaredMethods 来获取这个类中定义了的方法列表。java.lang.reflect.Methods 是用来描述某个类中单个方法的一个类。

1.2 Java类反射中的主要方法

对于以下三类组件中的任何一类来说 -- 构造函数、字段和方法 -- java.lang.Class 提供四种独立的反射调用,以不同的方式来获得信息。调用都遵循一种标准格式。以下是用于查找构造函数的一组反射调用:

l Constructor getConstructor(Class[] params) -- 获得使用特殊的参数类型的公共构造函数,

l Constructor[] getConstructors() -- 获得类的所有公共构造函数

l Constructor getDeclaredConstructor(Class[] params) -- 获得使用特定参数类型的构造函数(与接入级别无关)

l Constructor[] getDeclaredConstructors() -- 获得类的所有构造函数(与接入级别无关)

获得字段信息的Class 反射调用不同于那些用于接入构造函数的调用,在参数类型数组中使用了字段名:

l Field getField(String name) -- 获得命名的公共字段

l Field[] getFields() -- 获得类的所有公共字段

l Field getDeclaredField(String name) -- 获得类声明的命名的字段

l Field[] getDeclaredFields() -- 获得类声明的所有字段

用于获得方法信息函数:

l Method getMethod(String name, Class[] params) -- 使用特定的参数类型,获得命名的公共方法

l Method[] getMethods() -- 获得类的所有公共方法

l Method getDeclaredMethod(String name,

第1页

你可能喜欢

热门文档

相关文档

  • java反射机制

    —检测一个在运行期间才知道名字的对象的方法 利用 Java 反射机制我们可以很灵活的对已经加载到 Java 虚拟机当中的类信 息进行检测。 当然这种检测在对运行的性能...

  • java反射机制详解与应用

    java反射机制详解与应用_IT/计算机_专业资料。java反射机制详解与应用java 有着一个非常突出的动态相关机制:Reflection。这个字的意思是“反射、映象、倒影”, 用在...

  • Java反射机制

    Java 反射机制一、 Java 反射机制 1、什么是 java 语言的反射机制 JAVA 反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方 法;对于任意一...

  • Java反射机制

    Java泛型 ? 理解Java泛型 ? 应用Java泛型编程 ?Java反射机制 ? 理解Java反射机制 ? 理解Java的动态代理 ? Spring IoC原理剖析 Java泛型在Java SE 1.5之前,没...

  • JAVA反射机制定义

    JAVA 反射机制定义: JAVA 反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所 有属性和方法;对于任意一个对象,都能够调用它的任意一个方法;这种动态 ...

  • Java反射机制-较全面PPT

    Java反射机制 Java反射机制 本课程主要讲述Java反射机制 本课程要求大家对Java泛型知识有所了解,因为程序代码 中大量使用了泛型相关知识 2010-12-2 成都天府软件园...

  • Java反射机制总结

    谈 java 反射机制 Java 反射机制 Java 集合浅析 Java 的类反射机制 Java 反射机制的学习 Java 反射 Reflection--运行时生成实例 Java 反射机制 Java 反射机制 2 ...

  • java反射机制

    Java 开发员 STY Manoel Lemos Singularity 系统公司 CEO/CTO 1

  • java反射机制及例子

    java反射机制及例子_工学_高等教育_教育专区。反射原理讲解及例子演示1 Java 反射 reflection Java 提供了一套机制来动态执行方法和构造方法, 以及数组操作等, 这套...

  • JAVA反射机制原理

    JAVA反射机制原理_计算机软件及应用_IT/计算机_专业资料。对于java反射机制的解释运行时类型识别(Run-time Type Identification, RTTI)主要有两种方式,一种是我们在编...

站点地图 | 文档上传 | 侵权投诉 | 手机版
本站所有资源均来自互联网,本站只负责收集和整理,均不承担任何法律责任,如有侵权等其它行为请联系我们.
文档下载 Copyright 2013 doc.guandang.net All Rights Reserved.  -  email