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辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。