调用反射类的方法

来源:互联网 发布:开发者没有网络adb调试 编辑:程序博客网 时间:2024/04/18 22:00
package org.entity;import java.lang.reflect.InvocationTargetException;import java.lang.reflect.Method;/** * 本案例演示如何通过反射将字符串转换为类 * */public class Test2 {  public static void main(String[] args) {String user = "org.entity.User";//字符串是该类的全限定名try {Class clzz = Class.forName(user);Object classObj=clzz.newInstance();//将class类转换为对象//--------------------反射类调用User中的sayHello()方法-----------------------------//注意导入正确的Method包名:// import java.lang.reflect.Method;//获取该类的所有方法Method[] methods = clzz.getMethods();//遍历方法for(Method m:methods){if(m.getName().equals("sayHello")){//找到sayHello这个方法try {//user类中的invoke方法第一个参数是要调用的类//第二个是要传入的参数m.invoke(classObj, "hello world");} catch (IllegalArgumentException e) {e.printStackTrace();} catch (InvocationTargetException e) {e.printStackTrace();}}}} catch (ClassNotFoundException e) {e.printStackTrace();} catch (InstantiationException e) {e.printStackTrace();} catch (IllegalAccessException e) {e.printStackTrace();}}}

1 0
原创粉丝点击