使用反射访问方法

import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;

public class InvokeMethod {
    public static void main(String[] args) throws ClassNotFoundException, NoSuchMethodException, InvocationTargetException, IllegalAccessException, InstantiationException {
        Class<?> cls = Class.forName("java.lang.String");
        // 通过反射访问静态方法
        Method m = cls.getMethod("valueOf", char[].class);
        char[] chars = {'l', 'o', 'v', 'e'};
        Object res = m.invoke(null, chars);
        System.out.println(res);

        // 通过反射访问实例方法
        Method m2 = cls.getMethod("startsWith", String.class);
        // 通过反射访问构造方法
        Object obj = cls.getConstructor(char[].class).newInstance(chars);
        boolean res2 = (boolean) m2.invoke(obj, "l");
        System.out.println(res2);
    }
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容