Laravel  
laravel
文档
数据库
架构
入门
php技术
    
Laravelphp
laravel / php / java / vue / mysql / linux / python / javascript / html / css / c++ / c#

java 反射调用方法

作者:顺我者未必能活   发布日期:2025-06-17   浏览:70

import java.lang.reflect.Method;

public class ReflectionExample {
    public static void main(String[] args) {
        try {
            // 获取目标类的 Class 对象
            Class<?> clazz = Class.forName("java.util.ArrayList");

            // 创建目标类的实例
            Object instance = clazz.getDeclaredConstructor().newInstance();

            // 获取指定的方法对象,例如 add 方法
            Method addMethod = clazz.getMethod("add", Object.class);

            // 调用方法
            addMethod.invoke(instance, "Hello, Reflection!");

            // 获取指定的方法对象,例如 size 方法
            Method sizeMethod = clazz.getMethod("size");

            // 调用方法并获取返回值
            Object result = sizeMethod.invoke(instance);

            // 输出结果
            System.out.println("Size of ArrayList: " + result);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

解释说明:

  1. 获取 Class 对象:使用 Class.forName 方法获取目标类(如 ArrayList)的 Class 对象。
  2. 创建实例:通过 getDeclaredConstructor().newInstance() 创建目标类的实例。
  3. 获取方法对象:使用 getMethod 方法获取目标类中的特定方法(如 addsize 方法)。
  4. 调用方法:通过 invoke 方法调用目标类的方法,并传递必要的参数。
  5. 处理异常:由于反射操作可能会抛出多种异常,因此需要进行异常处理。

这个示例展示了如何使用 Java 反射机制来动态调用类的方法。

上一篇:java string join

下一篇:java 方法引用

大家都在看

java连接数据库的代码

ubuntu 卸载java

java sort用法

java collections.sort

java file类的方法

java 判断

java时间数据类型

java 时间加一天

java demo

java 截取

Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3

Laravel 中文站