Можно ли использовать Java Reflection для распечатки атрибутов родительского класса? - PullRequest
4 голосов
/ 23 мая 2011

возможно ли использовать Java Reflection для распечатки атрибутов родительского класса.

Ответы [ 2 ]

12 голосов
/ 23 мая 2011

Да, вы можете сделать что-то вроде этого:

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());
}
1 голос
/ 23 мая 2011

При соответствующей разрешающей политике безопасности можно распечатать любые атрибуты класса / экземпляра, используя отражение. См. Как ограничить setAccessible только "законными" использованиями? для некоторых интересных обсуждений.

...