一句话简述
java利用反射机制(reflection),可以动态调用某个类的某个方法,在扩展系统功能或提供对外接口时经常用的到。
举例实现
toUpperCased的使用方法为:**“aaa”.toUpperCase();**返回值类型为String。
public static void main(String[] args) {
try {
// 加载String类或者自定义类
Class<?> stringClass = Class.forName("java.lang.String");
// 获取方法
Method method = stringClass.getMethod("toUpperCase");
// 执行
String result = (String) method.invoke("abcd");
System.out.println(result);
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (SecurityException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (NoSuchMethodException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IllegalArgumentException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IllegalAccessException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (InvocationTargetException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
运行后结果如下:
参考
参考文档
https://www.cnblogs.com/haha12/p/4724204.html