Java反射機制允許你在運行時檢查和操作類、接口、字段和方法。要操作方法參數,你需要使用java.lang.reflect
包中的Method
類。以下是一個簡單的示例,說明如何使用Java反射機制操作方法參數:
Person
的類,其中包含一個方法greet
,該方法接受一個String
類型的參數:public class Person {
public void greet(String name) {
System.out.println("Hello, " + name);
}
}
Person
類的Class
對象,并獲取greet
方法的Method
對象:import java.lang.reflect.Method;
public class ReflectionExample {
public static void main(String[] args) {
try {
// 獲取Person類的Class對象
Class<?> personClass = Person.class;
// 獲取greet方法的Method對象
Method greetMethod = personClass.getMethod("greet", String.class);
// 輸出方法信息
System.out.println("Method: " + greetMethod.getName());
// 獲取方法參數
Class<?>[] parameterTypes = greetMethod.getParameterTypes();
for (Class<?> parameterType : parameterTypes) {
System.out.println("Parameter type: " + parameterType.getName());
}
} catch (NoSuchMethodException e) {
e.printStackTrace();
}
}
}
Method: greet
Parameter type: java.lang.String
這表明我們已經成功地使用Java反射機制獲取了greet
方法的參數類型。你還可以使用Method
類的其他方法來調用方法、設置訪問權限等。