`
布衣九久
  • 浏览: 54928 次
  • 性别: Icon_minigender_1
  • 来自: 江苏 无锡
社区版块
存档分类
最新评论

通过反射机制利用方法名动态调用方法

 
阅读更多
有些情况下需要通过方法名动态调用方法:

    Method method = XXXX.getClass().getMethod(methodName,new java.lang.Class[]{parameterTypesClass});   
    method.invoke(object,new Object[]{parameter});   
       
methodName是要调用的方法名字,parameterTypesClass是要调用方法的参数的类型的数组,且必须声明为Class[]类型的数组!(对于没有参数的方法,可以省去不写)   
object:当要调用的方法为static时,该参数为null,否则应该是所要载入的类的实例(即该方法所属的类的实例)   
parameter:是你要调用的方法参数(与parameterTypesClass中的类型声明对应)
 
如果方法有返回值,返回为Object类型,可以自行进行转换!
Object obj = method.invoke(object,new Object[]{parameter});  


例如:

for(BatchableAttr attr : attrs) {
   Method method;
   try {
         method = productListOutBean.getClass().getMethod(attr.getGetAttrMethodName());
         attr.setAttrValue((String)method.invoke(productListOutBean));
   } catch (SecurityException e) {
         e.printStackTrace();
   } catch (NoSuchMethodException e) {
         e.printStackTrace();
   } catch (IllegalArgumentException e) {
         e.printStackTrace();
   } catch (IllegalAccessException e) {
         e.printStackTrace();
   } catch (InvocationTargetException e) {
         e.printStackTrace();
   }
   this.attrs.add(attr);
}

其中productListOutBean为ProductListOutBean的一个实例
调用的方法没有参数,返回值为String
分享到:
评论

相关推荐

    详解Golang利用反射reflect动态调用方法

    本文将详细介绍如何在 Go 语言中利用反射来动态调用方法,通过具体的代码示例,帮助读者深入理解这一概念。 #### 二、反射的基本概念 在计算机科学中,“反射”通常指的是程序可以在运行时访问、检测甚至修改其...

    反射动态调用DLL方法,含参数

    综上所述,利用反射动态调用DLL方法是一项灵活但需要注意效率的技术,它使得我们的代码能够根据运行时的条件执行不同的功能,大大提高了代码的可扩展性和适应性。在实际项目中,如“WcfCallClient.sln”和...

    C#实现反射调用动态加载的DLL文件中的方法

    ### C#中使用反射调用动态加载的DLL文件中的方法 #### 反射的作用与应用场景 反射是.NET框架中的一项重要技术,它允许程序在运行时动态地获取自身的元数据(如类、方法、属性等)并进行操作。具体而言,反射主要有...

    java动态调用方法

    总的来说,Java动态调用方法通过反射机制实现了运行时对类和方法的动态操作,这在许多场合都有用武之地,如插件系统、自动化测试、元编程等。然而,由于反射的特性,也需要注意其可能带来的安全问题和性能影响。在...

    Java 反射创建get set方法及反射方法的调用

    本文将详细介绍如何利用Java反射来创建get和set方法,并演示如何通过反射机制调用这些方法。 #### Java反射概述 Java反射机制提供了一种方式,可以在运行时获取类的信息,并创建和操作对象。这为开发者提供了极大的...

    Java反射机制,通过对象访问调用类的私有成员或方法

    Java反射机制是Java编程语言中一个强大的特性,它允许程序在运行时动态地获取类的信息并操作类的对象。这一机制的核心在于,Java程序可以获取到关于任何类的内部信息,包括类名、属性、方法、构造器等,并能在运行时...

    frida反射调用对象中的方法与字段.pdf

    这种动态获取信息以及动态调用对象方法的功能称为Java的反射机制。反射机制为Java的操作带来极大的灵活性,可以用来动态创建对象,调用方法,访问属性。 在Frida的上下文中,反射调用通常涉及到几个关键的Java反射...

    JAVA反射机制动态调用 计算器对象的加法,减法函数;JAVA反射机制修改一个学生对象 的私有数据成员

    Java反射机制是Java语言提供的一种强大功能,它允许我们在运行时检查类、接口、字段和方法的信息,并且能够在运行时动态地创建对象和调用方法。这个机制在处理不确定类型或者需要灵活操作类的场景中非常有用。在这个...

    通过反射机制实现动态表单

    通过这样的方式,我们可以在不预先知道具体类结构的情况下,利用反射机制动态地创建表单,提高了代码的灵活性和可复用性。这在处理多变的数据模型或需要高度定制的用户界面时,是一个非常实用的技术。

    利用java反射机制的建议计算器源码

    然后,通过反射机制,我们可以动态加载包含其他复杂运算(如开方、指数等)的扩展类,并在运行时调用这些新方法。这样,无需修改原有代码,就可以增加计算器的功能,体现了良好的可扩展性。 源代码可能包括以下几个...

    Java反射机制的动态调用计算器的加法,减法函数;修改一个学生对象的私有数据成员

    在给定的场景中,我们利用反射机制实现了动态调用计算器的加法和减法函数,并修改了学生对象的私有数据成员。下面将详细讲解这些知识点。 首先,让我们关注`Calculator`类中的加法和减法函数。假设`Calculator`类有...

    Java的反射机制讲解案例代码 Class类、 获取类的结构信息:构造函数、方法和字段,动态创建对象、调用方法和设置属性

    Java的反射机制是指在运行时通过分析类的信息实现动态调用类的方法和访问类的属性的能力。它允许程序在运行时获取类的信息并操作类或对象的属性、方法和构造函数等。通过反射机制,可以实现很多高级特性,如动态代理...

    webservices动态调用方法

    5. **利用反射调用方法**:最后,通过反射机制,我们可以实例化生成的客户端代理类,并调用其中的方法来执行实际的Web Service请求。 以下是一个简单的示例,展示了如何动态调用名为`WebService`的Web Service,该...

    C++反射机制实现

    通过这些技术,C++开发者可以在他们的程序中实现对类型信息的查询和方法的动态调用,从而在编译时获得代码的元数据并动态操纵这些数据,提高程序的灵活性和适应性。尽管C++语言本身没有内置反射机制,但通过这些技术...

    利用反射和动态代理机制实现自定义拦截器Interceptor

    要实现自定义拦截器Interceptor,首先我们需要了解反射机制和动态代理的工作原理。反射机制是指在Java程序中,可以在运行时动态地获取和修改类的结构和行为,而不是在编译时确定的。动态代理是指在运行时动态地生成...

    C#,利用反射动态创建对象

    综上所述,C#的反射机制为开发者提供了在运行时动态操作代码的能力,尤其在处理不确定类型的对象或者需要实现动态行为时,反射成为了一种不可或缺的工具。然而,需要注意的是,由于其内在的性能成本,应当合理地在...

    通过反射机制写的通用的方法

    总之,“通过反射机制写的通用的方法”是一种利用Java反射能力实现动态数据库查询和对象映射的技术。虽然提高了代码的灵活性,但也要注意其潜在的性能影响。在实际开发中,应结合具体业务需求和性能要求,合理选择和...

    利用java反射机制实现自动调用类的简单方法

    在上述示例中,通过反射机制实现了动态调用类的方法,这种方式在某些场景下非常有用,比如插件系统、框架开发等。下面是详细的知识点解析: 1. **Class类**: Java中的`Class`类代表一个运行时的类对象,它包含了...

    C#动态调用Dll中的方法

    在.NET框架中,C#语言提供了强大的反射机制,允许程序在运行时检查自身,并能动态地创建对象和调用成员。本主题将深入探讨如何利用C#的反射特性来动态调用DLL(动态链接库)中的方法。首先,我们需要了解什么是DLL...

Global site tag (gtag.js) - Google Analytics