在 Java 中,获取 Field(字段)列表 通常是通过 反射(Reflection) 来实现的。下面按常见场景给你总结一下。
import java.lang.reflect.Field;
public class Test {
public static void main(String[] args) {
Field[] fields = MyClass.class.getDeclaredFields();
for (Field field : fields) {
System.out.println(field.getName());
}
}
}
✅ getDeclaredFields()
private / protected / publicField[] fields = MyClass.class.getFields();
✅ getFields()
publicClass<?> clazz = MyClass.class;
while (clazz != null) {
Field[] fields = clazz.getDeclaredFields();
for (Field field : fields) {
System.out.println(clazz.getSimpleName() + "." + field.getName());
}
clazz = clazz.getSuperclass();
}
for (Field field : MyClass.class.getDeclaredFields()) {
if (Modifier.isPrivate(field.getModifiers())) {
System.out.println(field.getName());
}
}
MyClass obj = new MyClass();
Field field = MyClass.class.getDeclaredField("name");
field.setAccessible(true); // 突破 private
Object value = field.get(obj);
setAccessible(true)如果你有具体需求,比如:
可以告诉我,我给你更针对性的示例。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。