如何根據傳入的字串作為方法名呼叫 Java 方法?


java.lang.reflect.Method 類提供有關類或介面中單個方法的資訊並可訪問它。反射方法可以是類方法或例項方法(包括抽象方法)。Method 允許在將實際引數與底層方法的正式引數匹配時進行拓寬轉換,但如果發生縮小轉換,則會丟擲 IllegalArgumentException。

你可以使用包 java.lang.reflect 中名為 method 的類呼叫該方法。這個類的建構函式接受一個字串形式的方法名稱。你可以使用 invoke() 方法呼叫該方法。

示例

import java.lang.reflect.Method;

public class DemoTest {
   private void sampleMethod(){
      System.out.println("hello");
   }
}
public class SampleTest {
   public static void main(String args[]) throws Exception{
      Class c = Class.forName("DemoTest");
      Object obj = c.newInstance();
      
      Method method = c.getDeclaredMethod("sampleMethod", null);
      method.setAccessible(true);
      method.invoke(obj, null);
   }
}

更新日期: 2019 年 7 月 30 日

3K+ 瀏覽量

啟動你的 職業

完成該課程獲得認證

開始
廣告
© . All rights reserved.