是否可以使用Java Reflection打印出父类的属性。
答案 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?。