Se podría hacer algo como esto:
import java.lang.reflect.*;
public class Foo {
public static int one = 1;
public static int two = 2;
public static int three = 3;
public static void magicMethod(Class clz) throws Exception {
Field[] fields = clz.getFields();
System.out.println(""+fields);
for(Field field : fields) {
int modifiers = field.getModifiers();
if(! Modifier.isStatic(modifiers))
continue;
System.out.println("" + field.get(null));
}
}
public static void main(String[] args) throws Exception {
Foo.magicMethod(Foo.class);
}}
Es importante señalar, sin embargo, que los campos tienen que ser público para que esto funcione. No es exactamente lo que pediste, pero debe ser lo suficientemente cerca para que puedas hacer que funcione para lo que necesitas. Obviamente, esto no implica ningún tipo de manejo de errores ni nada, por lo que debe asegurarse de manejar cualquier error o excepción en su aplicación real.
demasiadas preguntas miran como la tarea ... –