MST

星途 面试题库

面试题:Java反射机制中如何获取类的所有方法

在Java反射机制里,给定一个类的全限定名,如何通过反射获取该类的所有public方法,并打印出方法名和参数列表?请写出核心代码片段。
29.7万 热度难度
编程语言Java

知识考点

AI 面试

面试题答案

一键面试
import java.lang.reflect.Method;

public class ReflectionExample {
    public static void main(String[] args) {
        try {
            // 类的全限定名
            String className = "java.util.ArrayList";
            // 通过反射获取类
            Class<?> clazz = Class.forName(className);
            // 获取所有public方法
            Method[] methods = clazz.getMethods();
            // 遍历并打印方法名和参数列表
            for (Method method : methods) {
                StringBuilder paramList = new StringBuilder();
                for (Class<?> paramType : method.getParameterTypes()) {
                    paramList.append(paramType.getSimpleName()).append(", ");
                }
                if (paramList.length() > 0) {
                    paramList.setLength(paramList.length() - 2);
                }
                System.out.println(method.getName() + "(" + paramList.toString() + ")");
            }
        } catch (ClassNotFoundException e) {
            e.printStackTrace();
        }
    }
}