是否可以使用Java反射打印出父类的属性



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

是的,你可以这样做:

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());
}

给定适当的允许安全策略,就可以使用反射打印出任何类/实例的属性。参见How to limit setAccessible to only";合法的";使用?进行一些有趣的讨论。

相关内容

  • 没有找到相关文章

最新更新