У меня есть класс, и я хочу найти все его общедоступные поля (не методы). Как я могу сделать это?
Спасибо!
Field[] fields = YourClassName.class.getFields();
Возвращает массив всех публичных переменных класса.
GetFields ()
Верните поля во всей классе-Heirarcy. Если вы хотите иметь поля, определенные только в вопросе класса, а не на его суперкласс, используйте getDeclaredfields ()
, и фильтруйте публично
со следующим модификатором
Подход:
Modifier.isPublic(field.getModifiers());
YourClassname.Class
Литерал на самом деле представляет собой объект типа java.lang.class
. Проверьте его документы для более интересных методов отражения.
Поле
класс выше - java.lang.reflect.field
. Вы можете взглянуть на весь пакет Java.lang.reflect
.