没事,写了个类反射的例子,最近的EAI项目中,用到了其中一小部分。
System.out.println("-------------------以下为利用类反射机制测试相同结果----------------------");
//动态构造未知类型的类
Class cls = Class.forName("com.ls.xml.MessageDocument");
//获取第一个内部类成员,如果有多个可以遍历获取,代码大家自己看JDK吧
Class subCls=cls.getClasses()[0];
//打印出此内部类的所有方法,还可以打印出更多信息,如构造方法等,请查看JDK文档
for (int j = 0; j < subCls.getMethods().length; j++) {
System.out.println("内部类的方法"+j+":"+subCls.getMethods()[j]);
}
//获取内部类方法
//下面参数new Class[]{String.class}为要调用的方法的类型,parse为方法名称
Method mtd = subCls.getMethod("parse",new Class[]{String.class});
//由于要调用的是内部类的静态方法,因此,不需要实例化内部类,下面为实例化的方法,注销掉
//Object obj = (Object)subCls.newInstance();
//inputStream为入参的具体内容
Object result=mtd.invoke(subCls,new Object[]{inputStream});
//将结果转换为相应的类型,做一下测试,看看是不是想要的结果
MessageDocument messageDocument=null;
messageDocument=(MessageDocument)result;
System.out.println(messageDocument.getIntObjectName());
System.out.println(result+"-----------------------------------------------");
分享到:
相关推荐
本主题聚焦于"C#+实体类反射+初阶",它涉及到如何利用C#的反射特性来自动化数据操作,以及如何结合XML进行数据存储。反射是.NET框架中的一个强大工具,它允许程序在运行时检查自身的行为,包括获取类型信息、创建...
Java的类反射是Java语言中一个强大的特性,它允许程序在运行时检查并操作类、接口、字段和方法的信息。这种动态类型的能力使得Java代码能够更加灵活,可以处理未知类型的对象,实现元编程,以及在运行时创建和访问类...
在“实体类反射非空赋值,AjaxJson工具类”这个主题中,我们将探讨如何使用反射来安全地为实体类的属性赋值,并结合Ajax与JSON进行数据的转换和交互。 首先,让我们深入了解反射的概念。Java反射API提供了Class类,...
在Java编程中,类反射机制是一种强大的工具,它允许程序在运行时检查并操作类的信息,包括类的方法、属性和构造器。这个机制是Java动态性的重要体现,它使得我们能够在不知道具体类名的情况下,创建对象并调用其方法...
### Java中的类反射机制 #### 一、反射的概念与历史 反射的概念最早由Smith于1982年提出,指的是程序有能力访问、检测并修改其自身的状态或行为。这一概念一经提出,便迅速引起了计算机科学领域的关注,并在多个...
Java的类反射机制是Java程序开发中的一个重要特性,它允许程序在运行时检查自身结构,动态地访问和修改对象的属性和方法。反射的核心在于Java Reflection API,这是一组类和接口,使得开发者能够在运行时获取类的...
在"java类反射示例源码"中,我们可以深入理解这个概念并学习如何在实际开发中应用。 反射的使用通常涉及到以下关键知识点: 1. **Class类**: 在Java中,`java.lang.Class`类是所有类的通用表示,每个类都有一个与...
Java中的类反射机制是Java语言的一个强大特性,它允许程序在运行时检查并操作类、接口、字段和方法。这个特性使得Java具有高度的灵活性,能够处理动态类型的数据,实现元编程,以及在未知类名的情况下创建和操作对象...
在Java中,反射机制主要通过java.lang.Class类和相关的类库来实现,它使得我们能够在运行时动态地获取类的信息(如类名、属性、方法等)并能创建和调用对象。 1. **类的加载与Class对象** 当Java虚拟机(JVM)加载一...
Java类反射 动态代理 讲解的很细,很受用 分享给大家
在Java编程语言中,反射(Reflection)是一种强大的工具,它允许程序在运行时检查和操作类、接口、字段和方法等对象。枚举(Enumeration)是Java中的一个特殊类类型,用于定义一组常量。本项目"test-enum-demo-...
1、假设你要反射一个 DLL 中的类,并且没有引用它(即未知的类型): Assembly assembly = Assembly.LoadFile(程序集路径,不能是相对路径); // 加载程序集(EXE 或 DLL) dynamic obj = assembly....
Python的类反射机制是一种强大的编程技术,它允许程序在运行时动态地检查和操作对象的属性和方法。这种机制使得代码更加灵活,可以处理未知的类名或方法名,尤其在设计框架或库时非常有用。本文将通过实例详细解析...
反射是.NET框架提供的一种特性,通过System.Reflection命名空间中的类来实现。主要类包括Assembly(程序集)、Type(类型)、ConstructorInfo(构造函数信息)、MethodInfo(方法信息)和PropertyInfo(属性信息)...
### 类的反射机制及其常用方法 #### 反射机制简介 反射是Java语言的一个重要特性,它允许在运行时检查类、接口、字段和方法的信息,并且可以动态地调用方法或修改字段值。这种能力使得Java程序具有高度的灵活性和...
#### 二、Java中的类反射 Java的反射机制是一种强大的工具,允许程序在运行时检查和操作类、接口、字段和方法等。这是Java语言特有的功能,使得Java程序比其他语言(如C、C++)更加灵活。 ##### 2.1 Reflection的...
本文将深入探讨如何结合反射技术和XML来实现通用实体类,并解释这两个技术在这一过程中的作用。 首先,让我们了解什么是反射技术。在Java中,反射是一种强大的工具,它允许程序在运行时检查和操作其他类、接口、...
Reflection 是Java被视为动态(或准动态)语言的一个关键性质。这个机制允许程序在运行时透过Reflection APIs取得任何一个已知名称的class的内部信息,包括其modifiers(诸如public, static 等等)、superclass...
### Flex开发中的类反射技术详解 #### 引言 随着Flex技术在富互联网应用(RIA)领域的广泛应用,其独特的能力,如强大的图形处理能力和高效的数据处理机制,使其成为开发高性能Web应用的首选工具之一。Flex的灵活...
Java类加载器和类反射是Java编程中两个重要的概念,它们允许我们动态地加载和操作类。类加载器是Java虚拟机(JVM)的一部分,它的主要任务是将.java文件编译成的.class文件加载到内存中并创建对应的Class对象。类...