是否可以使用Java Reflection打印出父类的属性?

时间:2011-05-23 15:09:33

标签: java reflection attributes parent

是否可以使用Java Reflection打印出父类的属性。

2 个答案:

答案 0 :(得分:12)

是的,你可以这样做:

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 :(得分:1)

鉴于适当的宽松安全策略,可以使用反射打印出任何类/实例的属性。有关有趣的讨论,请参阅How to limit setAccessible to only "legitimate" uses?