如何根據傳入的字串作為方法名呼叫 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);
}
}
廣告
資料結構
網路
RDBMS
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP