Java8にgetDeclaredMethodsでクラスのメソッドを取得する

環境
Eclipse 2019
Java8
Windows 10 64bit

関数
public Method[] getDeclaredMethods() throws SecurityException
このClassオブジェクトによって表されるクラスまたはインタフェースのすべての宣言されたメソッドをリフレクトするMethodオブジェクトが格納された配列を返します。
これには、public、protected、デフォルト(package)アクセスおよびprivateメソッドが含まれますが、継承されたメソッドは除外されます。
戻り値:
このクラスの宣言されたすべてのメソッドを表すMethodオブジェクトの配列

使用例

package com.arkgame.bat;

import java.lang.reflect.Method;

public class FieldsDemo {

      public static void main(String[] args) {

            Class<User> cu = User.class;
            // クラスのメソッドを取得します
            Method[] md = cu.getDeclaredMethods();

            System.out.println("クラスのメソッドを取得する結果");

            // for文で取得した値を表示
            for (Method t : md) {
                  System.out.println(t);
            }
      }

}

//クラスUserの定義
class User {
      private String addr = "tokyo";
      private int age = 23;

      /**
       * @return addr
       */
      public String getAddr() {
            return addr;
      }

      /**
       * @return age
       */
      public int getAge() {
            return age;
      }
}

実行結果
クラスのメソッドを取得する結果
public int com.arkgame.bat.User.getAge()
public java.lang.String com.arkgame.bat.User.getAddr()

Java

Posted by arkgame