可以使用 Modifier.isStatic(field.getModifiers())
判断。
代码示例:
package org.example;
import java.lang.reflect.Field;
import java.lang.reflect.Modifier;
public class Main {
public static class UserInfo {
private String name01;
protected String name02;
String name03;
public String name04;
private static String name11;
protected static String name12;
static String name13;
public static String name14;
}
public static void main(String[] args) {
for (Field field : UserInfo.class.getDeclaredFields()) {
boolean isStatic = Modifier.isStatic(field.getModifiers());
System.out.printf("%s 是否为 static: %s\n", field.getName(), isStatic);
}
}
}
执行结果:
name01 是否为 static: false
name02 是否为 static: false
name03 是否为 static: false
name04 是否为 static: false
name11 是否为 static: true
name12 是否为 static: true
name13 是否为 static: true
name14 是否为 static: true