`
- 浏览:
31676 次
- 性别:
- 来自:
济南
-
通过Java反射调用方法需要传过来方法名和查的的类对象,通过方法名,查的该对象中对应的属性值。
/***
*
* @specification :通过方法名,寻找反射相应的方法,获得变量值
* @param :frac_value 方法名 FormTest类对象
* @return :方法对应的值
* @exception :
*/
private static String getMethodValue(String frac_value,FormTest frc) {
// TODO Auto-generated method stub
String rnum = null ;
// 获取反射类
Class frc_class = frc.getClass();
Method frc_method;
try {
// 获取反射方法
frc_method = frc_class.getDeclaredMethod(frac_value);
// 获取值
rnum = (String) frc_method.invoke(frc);
} catch (SecurityException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (NoSuchMethodException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IllegalArgumentException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IllegalAccessException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (InvocationTargetException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return rnum ;
}
java对对象设置属性值,然后调用下面方法,完成对象属性赋值
/***
*
* @param value
* @specification :通过方法名,寻找反射相应的方法,设置变量值
* @param :frac_value 对象set方法名 frc类对象,value要赋给对象的值
* @return :
* @exception :
*/
private void setMethodValue(String frac_value,Object frc, String value) {
// 获取反射类
Class frc_class = frc.getClass();
Method frc_method;
try {
// 获取反射方法
frc_method = frc_class.getDeclaredMethod(frac_value, new Class[]{java.lang.String.class});
// 设置值
frc_method.invoke(frc, value);
} catch (SecurityException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (NoSuchMethodException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IllegalArgumentException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IllegalAccessException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (InvocationTargetException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
分享到:
Global site tag (gtag.js) - Google Analytics
相关推荐
代码中包含的方法有如下 : 1. 创建一个Person实体类 2. 反射获取Class类对象的三种方法 2.1 通过全类名的方式获取 2.2 类名.class 2.3 实例对象.getClass() 2.4 总结 3. 反射获取属性变量 3.1 获取所有...
在Java中,反射机制提供了强大的能力,包括在运行时检查类的结构、创建对象实例、调用方法以及访问和修改字段值。本文将深入探讨Java反射的相关知识点。 1. 常用`Class`类方法: - `Class.forName(String ...
在Java中,反射主要用于以下几个核心知识点: 1. **Class对象**:在Java中,每个类都有一个与之对应的Class对象,它是运行时的类型信息的载体。我们可以通过`Class.forName()`方法或对象的`getClass()`方法获取到...
例如,在Java中,反射允许程序动态地获取类的信息、创建对象、调用方法等,这对于框架设计、插件架构等方面极为有用。 #### 二、Java中的类反射 Java的反射机制是一种强大的工具,允许程序在运行时检查和操作类、...
本专栏主要为Java程序设计(基础)实验报告和Java程序设计(进阶)实验报告,基础篇有JAVA环境搭建、Java语言基础、方法和数组、面向对象基础、Java常用类、继承与接口、成员访问控制与异常、JavaFX程序设计、Java...
根据提供的资料,“Java李兴华学习笔记之Java常用类库”这份文档来源于北京MLDN软件实训中心的教学资料,主要涵盖了Java编程语言中常用类库的基础知识与实践技巧。课程内容分为两大部分: 1. **上次课程的主要知识...
Java中的反射机制是Java语言一个强大的特性,它允许在运行时检查类的信息并动态地创建对象和调用方法。在实际开发中,反射机制被广泛应用于框架设计、插件系统、序列化、元数据处理等多个场景。下面我们将深入探讨...
Java反射是Java编程语言中的一个强大特性,它允许在运行时检查类、接口、字段和方法的信息,并且能够在运行时动态地创建对象和调用方法。这个特性使得Java具有高度的灵活性,尤其在处理框架、插件系统以及元数据驱动...
结合"XmlAndReflect"这个压缩包文件,可能包含了示例代码或教程,帮助开发者了解如何在Java中解析XML文件以及使用反射机制。学习这些内容有助于提升对Java平台下数据交换和动态编程的理解和实践能力。
字符串在Java中扮演着重要的角色,它是Java中最常用的数据类型之一,主要用于文本处理。Java提供了丰富的字符串类`String`,支持各种字符串操作,如拼接、查找、替换等。在Java反射机制中,字符串可以用来表示类名、...
"java常用工具类"这个主题涵盖了Java开发中常用的类和方法,这些工具类可以帮助我们简化编程工作,提高代码的可读性和可维护性。在Java中,`java.util`包就是这样一个包含大量工具类的包,提供了很多实用的功能。 1...
在Java编程中,工厂模式是一种常用的创建型设计模式,它提供了一种创建对象的最佳方式。传统的工厂模式通过定义一个工厂接口以及其实现类来创建特定类型的对象,然而,这种模式在面对需求变化时可能显得不够灵活。...
获取 Class 对象是使用反射机制的第一步,Java 中有两种方式可以获取 Class 对象,一种是使用 `.class`,另一种是使用 `Class.forName()`。使用 `.class` 方式适用于在编译时已经知道具体的类,而使用 `Class.for...
"JAVA常用类库课件"显然是一个针对Java初学者的教育资源,它涵盖了Java中最常用、最核心的类库。这个压缩包很可能是包含了关于这些类库的讲解、示例代码和练习,帮助新手快速理解和应用Java的核心功能。 1. **Java ...
- **Exception类**:所有异常的基类,Java中的异常处理机制基于try-catch-finally结构。 - **Checked异常**:如IOException,需要在编译时被处理。 - **Unchecked异常**:如NullPointerException,运行时才会抛出...
"Java常用实例程序"这个主题涵盖了许多Java开发中的常见任务和功能的实现,这些实例可以帮助开发者更好地理解和掌握Java语言的核心概念及应用。下面我们将深入探讨一些Java编程中的关键知识点。 1. **基本语法与...
本文将深入探讨Java中的基础概念,包括多线程、反射以及泛型,这些都是Java编程中至关重要的知识点。 首先,我们来讨论Java多线程。多线程允许程序同时执行多个独立的任务,极大地提高了应用程序的效率和响应性。在...
4. **测试工具** —— 测试框架中常用反射来模拟对象的行为。 5. **ORM框架** —— ORM框架中使用反射将对象模型映射到数据库表。 #### 七、总结 反射机制是Java语言的一个重要特性,它极大地增强了Java程序的灵活...