-1

javaのクラス内にあるすべてのメソッド()のリスト(名前)を取得するにはどうすればよいですか?

元。

public class helloworld {
     public static void main() {
         ...
     }

     public static void method() {
         ...
     }

     public static void anothermethod() {
         ...
     }
}

結果は次のようになります。

method
anothermethod

出来ますか?前もって感謝します。

4

1 に答える 1

3

リフレクションを使用する必要があります。Class#getDeclaredMethods()はあなたが探しているものです。

public void showMethods(Object obj) {
    if (obj != null) {
        Method[] methods = obj.getClass().getDeclaredMethods();
        for (Method method : methods) {
            System.out.println(method.getName());
        }
    }
}

印刷する必要があるのはメソッド名のリストだけの場合。Set最初に追加したほうがいいです。これにより、オーバーロードされたメソッドが一度だけ出力されます。パラメータ情報とともにメソッド名を出力したい場合は、Method#getParameterTypes()を見てください。

于 2013-10-09T17:44:09.657 に答える