91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

java如何根據方法名獲取方法

小億
173
2023-10-28 02:56:47
欄目: 編程語言

在Java中,可以通過反射來根據方法名獲取方法。具體步驟如下:

  1. 使用Class.forName()方法加載對應的類,獲取類的Class對象。例如,要獲取com.example.MyClass類的方法,可以使用Class.forName("com.example.MyClass")來獲取該類的Class對象。

  2. 使用Class對象的getMethods()方法獲取該類的所有公共方法,或者使用getDeclaredMethods()方法獲取該類的所有方法(包括私有方法)。

  3. 遍歷方法數組,使用getName()方法獲取每個方法的方法名,與目標方法名進行比較。

  4. 找到目標方法后,可以使用Method對象的其他方法執行該方法。

以下是一個示例代碼:

import java.lang.reflect.Method;

public class Main {
    public static void main(String[] args) throws NoSuchMethodException {
        try {
            // 加載類,獲取Class對象
            Class<?> clazz = Class.forName("com.example.MyClass");

            // 獲取所有公共方法
            Method[] methods = clazz.getMethods();

            // 遍歷方法數組
            for (Method method : methods) {
                // 獲取方法名
                String methodName = method.getName();

                // 判斷方法名是否與目標方法名相同
                if (methodName.equals("myMethod")) {
                    // 執行目標方法
                    method.invoke(null); // 如果方法是靜態方法,則傳入null作為對象,非靜態方法則傳入實例對象
                    break;
                }
            }
        } catch (ClassNotFoundException e) {
            e.printStackTrace();
        }
    }
}

class MyClass {
    public static void myMethod() {
        System.out.println("Hello, world!");
    }
}

在上面的示例中,我們通過反射獲取了MyClass類的方法,并找到了名為myMethod的方法,并執行了該方法。

0
邹平县| 昌江| 库车县| 砚山县| 安新县| 永清县| 库伦旗| 卢湾区| 五大连池市| 虞城县| 休宁县| 榆中县| 岑溪市| 新密市| 介休市| 吉首市| 内丘县| 望江县| 孝昌县| 岳普湖县| 凤凰县| 前郭尔| 孟津县| 文山县| 民和| 永川市| 当雄县| 松潘县| 湄潭县| 宁阳县| 上思县| 汤阴县| 临安市| 乡宁县| 龙里县| 双峰县| 汕头市| 白城市| 英吉沙县| 汉川市| 澎湖县|