`
tntxia
  • 浏览: 1510874 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

反射实现Java的调用

阅读更多
通过Java反射调用方法
 
这是个测试用的例子,通过反射调用对象的方法。
 
 
TestRef.java
import java.lang.reflect.Method; 
import java.lang.reflect.InvocationTargetException; 

/** 
* Created by IntelliJ IDEA. 
* File: TestRef.java 
* User: leizhimin 
* Date: 2008-1-28 14:48:44 
*/ 
public class TestRef { 

    public static void main(String args[]) throws NoSuchMethodException, IllegalAccessException, InvocationTargetException { 
        Foo foo = new Foo("这个一个Foo对象!"); 
        Class clazz = foo.getClass(); 
        Method m1 = clazz.getDeclaredMethod("outInfo"); 
        Method m2 = clazz.getDeclaredMethod("setMsg", String.class); 
        Method m3 = clazz.getDeclaredMethod("getMsg"); 
        m1.invoke(foo); 
        m2.invoke(foo, "重新设置msg信息!"); 
        String msg = (String) m3.invoke(foo); 
        System.out.println(msg); 
    } 
} 

class Foo { 
    private String msg; 

    public Foo(String msg) { 
        this.msg = msg; 
    } 

    public void setMsg(String msg) { 
        this.msg = msg; 
    } 

    public String getMsg() { 
        return msg; 
    } 

    public void outInfo() { 
        System.out.println("这是测试Java反射的测试类"); 
    } 
}
 
控制台输出结果:
这是测试Java反射的测试类
重新设置msg信息!

Process finished with exit code 0
分享到:
评论

相关推荐

    Java方法反射调用demo

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

    Java反射调用方法

    通过掌握Java反射,开发者可以编写更灵活的代码,实现一些在编译时无法预知的功能,比如处理未知类的对象,或者在运行时根据条件动态调用方法。然而,反射也带来了一些潜在的问题,如性能损耗、安全风险和代码可读性...

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

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

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

    ### Java反射创建get set方法及反射方法的调用 #### 概述 在Java编程语言中,反射(Reflection)是一种强大的技术,它允许程序在运行时检查类、接口、字段和方法的信息,并能够动态地创建对象和调用方法。本文将...

    java浏览器调用ie内核

    这些文件可能包含Java源代码、配置文件或者相关的文档,通过阅读和理解代码,可以更深入地学习如何实现Java调用IE内核。 总结来说,Java调用IE内核主要涉及Java与ActiveX控件的交互,这一技术虽然有一定的历史背景...

    java调用ffmpeg详细步骤

    使用Java语言调用终端开启关闭Nginx服务器,然后执行ffmpeg命令,开启转流推流。以及其它指令,来学习吧

    java反射 java反射 java反射java反射

    在Java中,反射机制提供了强大的能力,包括在运行时检查类的结构、创建对象实例、调用方法以及访问和修改字段值。本文将深入探讨Java反射的相关知识点。 1. 常用`Class`类方法: - `Class.forName(String ...

    利用java反射调用实现对字符串的解析,成功调入函数,并且返回值

    在这个场景中,我们关注的是如何利用Java反射调用来解析字符串并执行相关函数,最终获取返回值。下面将详细阐述这个过程。 首先,`ReflectUtils.java` 文件可能包含了一些静态方法,这些方法提供了反射操作的便利...

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

    Java反射机制是Java语言提供的一种强大功能,它允许我们在运行时检查类、接口、字段...在上述示例中,我们展示了如何利用反射来实现计算器的动态调用和修改私有学生对象的属性,这些都展示了反射机制的灵活性和实用性。

    Java反射调用工具类

    Java反射调用是Java语言提供的一种强大的动态类型机制,它允许程序在运行时检查并使用类的信息,包括类的方法、属性以及构造器等。在Java中,反射是通过`java.lang.reflect`包中的类实现的,如`Class`、`Constructor...

    jna jar实现java调用dll

    在本文中,我们将深入探讨如何使用JNA jar包来实现Java调用dll文件。 首先,理解JNA的工作原理至关重要。JNA依赖于Java的反射机制,通过接口定义(Interface)来映射本地库中的函数。当你在Java中定义一个接口并...

    groovy和Java相互调用1

    Java调用Groovy类则稍微复杂一些,通常有两种主要方法: 1. **方法1:直接调用** - 如果你的开发环境(如IntelliJ IDEA或Eclipse)已经安装了Groovy解释器插件,那么可以直接在Java代码中像调用Java类一样调用...

    jcom java调用com+组件

    总之,Java调用COM+组件通过JCOM库实现了不同编程语言之间的互操作性,为开发者提供了一种灵活的解决方案,尤其是当需要利用已有的COM组件资源时。在实际开发中,掌握这一技术可以帮助我们更好地整合系统资源,提高...

    Java 反射调用设置值

    Java 反射调用设置值

    java调用插件代码.rar

    具体到压缩包中的`java调用插件代码.txt`文件,其内容可能包含了具体的代码实现、示例或教程,详细解释了如何在Java项目中应用上述概念。为了更深入的理解,建议打开文件查看源代码和相关文档。

    java反射调用实例代码

    Java反射是Java编程语言中的一个强大特性,它允许在运行时检查类、接口、字段和方法的信息,并且能够在运行时动态地创建对象和调用方法。这个资源“java反射调用实例代码”提供了关于如何使用Java反射API进行各种...

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

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

    android使用webView实现java程序与js脚本的相互调用

    Java调用JavaScript 使用`addJavascriptInterface()`方法暴露一个Java对象给JavaScript环境,这样JavaScript就可以调用这个对象的方法: ```java webView.addJavascriptInterface(new Object() { @...

    Java反射方法调用

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

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

    当需要使用反射调用某个对象的方法或访问其字段时,可以通过Frida的`Java.use`方法获取到对应的类的代理对象,然后通过调用其方法来实现。例如,在Frida脚本中可以使用`classObject.getDeclaredField("fieldName")....

Global site tag (gtag.js) - Google Analytics