1、呼叫靜態方法
Class<?> threadClazz = Class.forName("java.lang.Math"); Method method = threadClazz.getMethod("abs", long.class); System.out.println(method.invoke(null, -10000l));
只需要將invoke方法的第一個參數設為null即可。
2、呼叫類別中建構方法
取得類別中指定參數類型的建構
public Constructor getConstructor(Class<?>… parameterTypes) throws NoSuchMethodException, SecurityException
只能取得類別中public權限的建構方法
public Constructor getDeclaredConstructor(Class<?>… parameterTypes)
可以取得類別中全部建構方法,包含私有建構。
3、呼叫類別中指定名稱的普通方法
public Method getMethod(String name, Class<?>… parameterTypes) //方法有重载所以要传名称和参数类型取得本类以及父类中所有public方法 public Method getDeclaredMethod(String name, Class<?..parameterTypes) 取得本类中全部普通方法,包括私有方法。
以上是如何使用 Java 反射呼叫方法?的詳細內容。更多資訊請關注PHP中文網其他相關文章!