`
lindongxiao
  • 浏览: 47753 次
  • 性别: Icon_minigender_1
  • 来自: 泉州
社区版块
存档分类
最新评论

java反射之动态调用方法

阅读更多
java 代码
 
  1. package ref;  
  2.   
  3. import java.lang.reflect.Method;  
  4.   
  5. public class Methoder {  
  6.   
  7.     /** 
  8.      * @param args 
  9.      */  
  10.     public static void main(String[] args) throws Exception {  
  11.         // TODO 自动生成方法存根  
  12.          
  13.         Class c = Class.forName("ref.Test");  
  14. //        Class ptypes[] ={Class.forName("java.lang.String")};  
  15.         Class types[] =new Class[1];  
  16.         types[0]=Class.forName("java.lang.String");//方法的参数对应下面的String aa  
  17.  
  18.         Method m = c.getMethod("sayHello",types );//动态调用sayHello方法  
  19.         Test t = new Test();  
  20.         m.invoke(t,"hellojava" );//传给方法的的参数  
  21.     }  
  22.   
  23. }
  24. package ref; 
  25.  
  26. class Test{ 
  27.     public void sayHello(String aa){ 
  28.         System.out.println("Test:"+aa); 
  29.     } 
  30. } 
  31.  

分享到:
评论
1 楼 lindongxiao 2007-07-06  
Class types[] =new Class[2];
types[0]=Class.forName("java.lang.String");//方法的参数对应下面的String aa
types[1]=Class.forName("java.lang.Integer");
// /ptypes = Class.forName("java.lang.String");
Method m = c.getMethod("sayHello",types[0] );这样也可以实现

相关推荐

    Java方法反射调用demo

    Java反射是Java编程语言中的一个强大特性,它允许在运行时检查类、接口、字段和方法的信息,并且能够在运行时动态地创建对象和调用方法。这个特性使得Java具有了高度的灵活性,常用于框架开发、插件系统、元编程等...

    Java反射调用方法

    在给定的代码中,`TestRef` 类展示了如何使用Java反射调用方法。首先,我们创建了一个 `Foo` 类,它有一个私有字符串成员变量 `msg` 和三个方法:`setMsg`、`getMsg` 和 `outInfo`。`main` 方法是演示反射调用的入口...

    java动态调用方法

    Java动态调用方法是Java反射机制的一个重要应用,它允许我们在程序运行时,根据需要动态地获取类的信息并调用其方法。这种能力为代码的灵活性和可扩展性提供了强大的支持,尤其在处理不确定的对象类型或者需要在运行...

    java 反射 调用私有方法(有参数私有方法)获取私有属性值

    Java反射是Java语言提供的一种强大的动态类型特性,它允许程序在运行时检查类、接口、字段和方法的信息,并且能够动态地创建对象和调用方法。这个能力使得开发者可以突破静态类型的束缚,实现一些在编译时期无法完成...

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

    本文介绍了如何使用Java反射机制来创建get和set方法,并通过反射调用这些方法来访问对象的属性。这种方式虽然灵活,但在实际开发中应当谨慎使用,因为它可能会降低代码的性能和可维护性。了解反射机制的基本原理对于...

    spring与java反射结合动态定义类及调用函数

    spring与java反射结合动态定义类及调用函数,实现类的动态定义和函数的动态调用。 为有动态调用的web应用提供一点点借鉴,相互学习。

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

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

    Java反射方法调用

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

    反射,动态加载指定类调用类中的方法

    反射机制使得我们能够在运行时动态地获取类的信息,并且能够创建对象、调用方法、访问字段,甚至改变类的行为。在Java中,`java.lang.reflect`包提供了对反射的支持。 在“反射,动态加载指定类调用类中的方法”这...

    java反射机制,调用私有方法

    Java反射机制是Java编程语言中的一个强大工具,它允许程序在运行时检查和操作类、接口、字段和方法的信息。这种动态类型的能力使得Java代码能够处理未知或未提前定义的对象,增强了程序的灵活性和可扩展性。在Java中...

    java 反射得到某个方法

    在本文中,我们将深入探讨如何使用Java反射来获取并执行某个特定的方法。 首先,我们需要了解Java反射的基本概念。`java.lang.Class`类是反射的核心,它代表了Java中的每一个类。我们可以通过以下方式获取到一个...

    通过java反射机制动态调用某方法的总结(推荐)

    Java反射机制是Java语言提供的一种强大功能,允许程序在运行时检查类的信息并动态地调用类的方法。这种机制使得程序具有很高的灵活性和扩展性,特别是在框架开发、插件系统和元编程等场景中有着广泛的应用。下面我们...

    Java反射根据不同方法名动态调用不同的方法(实例)

    1. Java反射机制:通过`Class`类的`getMethod()`方法获取指定名称和参数类型的方法实例。 2. `Method`对象的`invoke()`方法:动态调用对象的方法并返回结果。 3. 使用反射处理动态的数据需求:根据用户配置的顺序...

    Java 反射-动态代理

    Java反射允许我们在运行时检查类、接口、字段和方法的信息,甚至可以创建和调用对象。它主要通过java.lang.Class类和java.lang.reflect包中的类(如Constructor、Method和Field)来实现。以下是一些核心知识点: 1....

    java反射与动态代理笔记

    Java反射API允许程序在运行时检查类、接口、字段和方法的信息,并能够动态地创建对象和调用方法。这一能力使得Java具有了很高的灵活性,尤其是在处理未知类型的对象或在不修改源码的情况下扩展功能时。 1. **Class...

    java 反射入门-属性方法调用实例

    这篇博文将带你入门Java反射,并通过属性和方法的调用来实践这一概念。 首先,理解反射的基础概念。在Java中,`Class`类代表了运行时的类信息。通过`Class`对象,我们可以获取到类的名称、构造器、方法和字段。例如...

    Java反射与动态代理

    Java反射是Java编程语言中的一个强大特性,它允许运行中的Java程序对自身进行检查并且可以直接操作程序的内部属性。在Java中,反射机制的核心类包括`Class`、`Field`、`Method`和`Constructor`,它们分别代表类、...

    编写计算器类,实现加法、减法操作,使用JAVA反射机制动态调用计算器对象的加法,减法函数

    编写计算器类,实现加法、减法操作 使用JAVA反射机制动态调用计算器对象的加法,减法函数

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

    本文主要讲解了在遇到需要操作Java对象的参数或返回值时,如何利用Frida这一动态代码插桩工具来进行反射调用,包括调用对象的方法和获取对象的字段。Frida是一个强大的动态代码插桩工具,它可以注入到几乎所有的进程...

    反射获取属性调用方法反射获取属性调用方法

    2. 反射调用方法: 反射同样可以用来动态调用类的方法。在Java中,`Method`类提供了这个功能: ```java Method method = clazz.getMethod("yourMethodName", argTypes); method.invoke(yourObject, argValues);...

Global site tag (gtag.js) - Google Analytics