Est-il possible d'utiliser la réflexion Java pour imprimer les attributs de la classe parent?


Est-il possible d'utiliser la réflexion Java pour imprimer les attributs d'une classe parente.

Author: Oh Chin Boon, 2011-05-23

2 answers

Oui, vous pourriez faire quelque chose comme ceci:

Class<?> parentClass = getClass().getSuperclass();

Field[] fields = parentClass.getDeclaredFields();
for (Field field : fields) {
    System.out.println("field: " + field.getName());
}

Method[] methods = parentClass.getDeclaredMethods();
for (Method method : methods) {
    System.out.println("method: " + method.getName());
}
 12
Author: WhiteFang34, 2011-05-23 15:17:16

Étant donné une politique de sécurité permissive, il est possible d'imprimern'importe quel attribut de classe/instance en utilisant la réflexion. Voir Comment limiter setAccessible aux seules utilisations "légitimes"? pour une discussion intéressante.

 1
Author: Dilum Ranatunga, 2017-05-23 12:26:57