Java: получите все имена переменной в классе

У меня есть класс, и я хочу найти все его общедоступные поля (не методы). Как я могу сделать это?

Спасибо!

84
задан informatik01 6 September 2019 в 14:21
поделиться

1 ответ

Field[] fields = YourClassName.class.getFields();

Возвращает массив всех публичных переменных класса.

GetFields () Верните поля во всей классе-Heirarcy. Если вы хотите иметь поля, определенные только в вопросе класса, а не на его суперкласс, используйте getDeclaredfields () , и фильтруйте публично со следующим модификатором Подход:

Modifier.isPublic(field.getModifiers());

YourClassname.Class Литерал на самом деле представляет собой объект типа java.lang.class . Проверьте его документы для более интересных методов отражения.

Поле класс выше - java.lang.reflect.field . Вы можете взглянуть на весь пакет Java.lang.reflect .

126
ответ дан 24 November 2019 в 08:33
поделиться
Другие вопросы по тегам:

Похожие вопросы: