`

Java反射调用实例

    博客分类:
  • Java
阅读更多
import java.lang.reflect.Method;   
import java.lang.reflect.InvocationTargetException;   
  
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反射调用实例代码

    这个资源“java反射调用实例代码”提供了关于如何使用Java反射API进行各种操作的实际示例。 在Java中,`java.lang.reflect`包提供了对反射的支持,包括`Class`类,`Constructor`类,`Method`类和`Field`类。这些类...

    Java方法反射调用demo

    `Invoke.java`可能包含反射调用的逻辑,而`Print.java`则可能用来打印或处理反射调用的结果。 总的来说,Java反射提供了强大的能力,让我们可以在运行时动态地操作类和对象。尽管它增加了程序的复杂性,但在某些...

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

    3. **设置访问权限**:由于私有方法默认是不可访问的,所以我们需要通过`setAccessible(true)`方法来改变其访问权限,允许反射调用。`privateMethod.setAccessible(true);` 4. **调用私有方法**:现在我们可以调用...

    java反射经典实例

    在本“Java反射经典实例”中,我们将深入探讨这个主题,了解如何利用反射来访问和修改私有属性以及调用私有方法。 1. **反射的概念与用途** - 反射机制是在运行时分析类的能力,它允许我们获取类的信息(如类名、...

    Java反射调用方法

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

    Java反射经典实例

    在提供的"Java反射经典实例.htm"文件中,可能会包含具体的代码示例,演示如何使用反射创建对象、访问字段、调用方法等。结合文件中的内容,读者可以更深入理解反射的实际应用。 总结,Java反射机制提供了对运行时类...

    Java动态调用实例

    总结起来,Java动态调用实例展示了如何利用反射和接口来实现灵活的组件装配和运行时调用。这种方式在大型系统中特别有用,因为它允许代码适应变化,降低了维护和扩展的复杂性。同时,依赖注入通过解耦组件提高了代码...

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

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

    Java反射调用工具类

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

    java反射实例代码

    在提供的"java反射实例代码"中,应该包含了如何使用上述方法的实际示例,这些示例有助于加深对Java反射机制的理解。通过阅读和运行这些代码,开发者可以更直观地学习如何在程序运行时动态地操作类、方法和字段,从而...

    Java 反射机制 代码的实例

    - 测试工具:JUnit等测试框架利用反射调用私有方法进行测试。 - 数据序列化/反序列化:如JSON转换库Gson使用反射将对象转化为JSON字符串。 6. **反射的基本操作**: - 获取类信息:`Class<?> clazz = Class.for...

    JAVA反射机制的入门代码

    Java反射机制是Java编程语言中的一个强大特性,它允许运行中的Java程序对自身进行检查并且可以直接操作程序的内部属性。这个特性使得Java具有了高度的灵活性和动态性,尤其是在处理元数据、创建对象、调用私有方法...

    java 反射实例,大量注释,简单易懂

    Java反射是Java编程语言中的一个重要特性,它允许程序在...学习这个示例,你可以更好地掌握Java反射机制,如何实例化对象,调用方法以及访问字段。通过实践,你将能够灵活地应用反射到实际项目中,解决动态编程的需求。

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

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

    反射实例-JAVA反射机制

    ### 反射实例—JAVA反射机制 #### 一、反射概念及原理 反射在计算机科学领域,特别是程序设计中,是指程序有能力访问、检测和修改其自身的结构和行为。这一概念最早由Smith于1982年提出,并迅速应用于各种编程语言...

    Java 8个反射实例

    以下将详细介绍Java反射的8个关键实例。 1. 获取Class对象 要使用反射,首先需要获取到目标类的Class对象。这可以通过以下几种方式实现: - 使用`Class.forName()`方法,如`Class<?> clazz = Class.forName("全...

    Java应用程序和java Web调用Matlab配置实例

    在Java项目中,引入编译后的Java类,并通过Java的反射机制或者直接实例化对象来调用Matlab的方法。调用时,你需要传递相应的参数,并接收返回结果。注意,由于Matlab和Java的数据类型不同,你可能需要进行数据类型的...

    Java反射动态加载实例类

    ### Java反射机制与动态加载实例类 在Java中,反射是一种强大的工具,允许程序在运行时检查和修改其结构和行为。通过反射,我们可以动态地加载类、创建对象、访问和修改字段、调用方法等。本文将深入探讨Java反射...

    java 通过反射获取枚举类,及枚举类的值,枚举类枚举实例名

    在Java编程语言中,反射(Reflection)是一种强大的工具,它允许程序在运行时检查和操作类、接口、字段和方法等对象。枚举(Enumeration)是Java中的一个特殊类类型,用于定义一组常量。本项目"test-enum-demo-...

    groovy和Java相互调用1

    2. **方法2:反射动态调用** - 使用Java的反射机制,可以在运行时动态加载和执行Groovy类。这种方法的优点是Groovy脚本的修改不需要重新编译整个项目,因为Java代码可以通过反射动态地找到并调用Groovy方法。这里,...

Global site tag (gtag.js) - Google Analytics