4

is it possible to use Java Reflection to print out the attributes of a parent class.

Oh Chin Boon
  • 23,028
  • 51
  • 143
  • 215

2 Answers2

12

Yes, you could do something like this:

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());
}
WhiteFang34
  • 70,765
  • 18
  • 106
  • 111
1

Given an appropriately permissive security policy, it is possible to print out any class/instance's attributes using reflection. See How to limit setAccessible to only "legitimate" uses? for some interesting discussion.

Community
  • 1
  • 1
Dilum Ranatunga
  • 13,254
  • 3
  • 41
  • 52