Вы перебираете код по и статическим и закрытым полям. Поэтому вам следует проверить, что вы перебираете только статические поля.
for (Field field : PARAMS.class.getFields()) {
if (Modifiered.isStatic(field.getModifiers())) continue;
String name = field.getName() ;
String value = (String) field.get(PARAMS.class);
}
NB: , как упоминал Джон, для доступа к статическому полю параметр экземпляра игнорируется. Однако я предпочитаю передавать класс вместо нуля, поскольку это лучшая документация по отступу.
Однако даже лучше практиковать аннотирование ваших полей, чтобы вы получали только те поля, которые вы действительно не хотите, чтобы другие статические поля добавлялись другими программистами (или даже языком Java за кулисами). Если вы сделаете это, ваш код будет выглядеть как
for (Field field : PARAMS.class.getFields()) {
if (!field.isAnnotationsPresent(YourAnnotation.class)) continue;
String name = field.getName() ;
String value = (String) field.get(PARAMS.class);
}