在Java中,invoke
方法用于調用一個方法或構造函數。
invoke
方法有兩種使用方式:
對于普通方法的調用:
Object invoke(Object obj, Object... args)
obj
是要調用方法的對象,如果方法是靜態的,則傳入null。args
是方法的參數列表。示例:
// 定義一個類
class MyClass {
public void myMethod(String str) {
System.out.println("Hello, " + str);
}
}
// 創建一個對象
MyClass obj = new MyClass();
// 調用myMethod方法
obj.getClass().getMethod("myMethod", String.class).invoke(obj, "World");
對于靜態方法的調用:
Object invoke(Object obj, Object... args)
obj
是要調用方法的類對象,即類的Class
對象。args
是方法的參數列表。示例:
// 定義一個類
class MyClass {
public static void staticMethod(String str) {
System.out.println("Hello, " + str);
}
}
// 調用staticMethod方法
MyClass.class.getMethod("staticMethod", String.class).invoke(null, "World");
需要注意的是,invoke
方法返回的是被調用方法的返回值,如果被調用方法是void
類型,則返回null
。