如何通过反射获取类的非静态(或静态)字段或方法?

时间:2019-01-16 18:50:56

标签: java reflection

我知道

MyClass.class.getDeclaredMethods()
MyClass.class.getDeclaredFields()

但是如何获取非静态成员或静态成员呢?

1 个答案:

答案 0 :(得分:2)

您可以为此使用Modifier#isStatic

Field[] fields = Main.class.getDeclaredFields();
for (Field f : fields) {
    if (Modifier.isStatic(f.getModifiers())) {
        System.out.println(f.getName());
    }
}

如果b为:

,它将打印Main

public class Main {

    public String a;
    public static String b;


}