调用反射类的方法
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();}}}
總結
- 上一篇: LG 新款 27GR82Q 显示器今晚开
- 下一篇: 调用反射类的指定方法