「Java」getDeclaredMethodsでクラスのメソッドを取得する
環境
JDK1.8
Eclipse2019
書式
public Method[] getDeclaredMethods() throws SecurityException
このClassオブジェクトによって表されるクラスまたはインタフェースのすべての宣言されたメソッドをリフレクトするMethodオブジェクト
が格納された配列を返します。
これには、public、protected、デフォルト(package)アクセスおよびprivateメソッドが含まれますが、継承されたメソッドは除外されます。
使用例
package com.arkgame.study.java;
import java.lang.reflect.Method;
public class Cft {
public static void main(String[] args) {
// クラスUsers情報を取得
Class<Users> ca = Users.class;
// クラスのメソッドを取得します。
Method[] mdArr = ca.getDeclaredMethods();
for (Method md : mdArr) {
System.out.println(md);
}
}
}
//クラスUsers
class Users {
String username;
int age;
/**
* @return username
*/
public String getUsername() {
return username;
}
/**
* @return age
*/
public int getAge() {
return age;
}
}
package com.arkgame.study.java;
import java.lang.reflect.Method;
public class Cft {
public static void main(String[] args) {
// クラスUsers情報を取得
Class<Users> ca = Users.class;
// クラスのメソッドを取得します。
Method[] mdArr = ca.getDeclaredMethods();
for (Method md : mdArr) {
System.out.println(md);
}
}
}
//クラスUsers
class Users {
String username;
int age;
/**
* @return username
*/
public String getUsername() {
return username;
}
/**
* @return age
*/
public int getAge() {
return age;
}
}
package com.arkgame.study.java; import java.lang.reflect.Method; public class Cft { public static void main(String[] args) { // クラスUsers情報を取得 Class<Users> ca = Users.class; // クラスのメソッドを取得します。 Method[] mdArr = ca.getDeclaredMethods(); for (Method md : mdArr) { System.out.println(md); } } } //クラスUsers class Users { String username; int age; /** * @return username */ public String getUsername() { return username; } /** * @return age */ public int getAge() { return age; } }
実行結果
public int com.arkgame.study.java.Users.getAge()
public java.lang.String com.arkgame.study.java.Users.getUsername()