在Java中,Method類是一個代表方法的類。它提供了一些方法,可以用來獲取和操作方法的相關信息。
Method類的常用方法包括:
getName():獲取方法的名稱。
getReturnType():獲取方法的返回類型。
getParameterTypes():獲取方法的參數類型。
getModifiers():獲取方法的修飾符。
invoke(Object obj, Object… args):調用方法。
其中,invoke(Object obj, Object… args)是Method類中最重要的方法之一。它用于調用方法,第一個參數obj是方法的調用者,后面的args是方法的參數。
下面是使用Method類和invoke方法的示例代碼:
import java.lang.reflect.Method;
public class Main {
public static void main(String[] args) throws Exception {
// 獲取Person類的sayHello方法
Method method = Person.class.getMethod("sayHello", String.class);
// 創建Person對象
Person person = new Person();
// 調用sayHello方法
method.invoke(person, "Tom");
}
}
class Person {
public void sayHello(String name) {
System.out.println("Hello, " + name + "!");
}
}
上述代碼中,首先使用getMethod方法獲取Person類的sayHello方法。然后,創建一個Person對象,并使用invoke方法調用sayHello方法,傳入參數"Tom"。最后,sayHello方法會輸出"Hello, Tom!"。
需要注意的是,使用invoke方法時,需要處理異常。因為invoke方法可能會拋出IllegalAccessException或者InvocationTargetException異常。