是否可以使用Java Reflection打印父类的属性?
是否可以使用Java Reflection打印出父类的属性。
是的,你可以这样做:
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()); }
给定适当宽松的安全策略,可以使用reflection打印出任何类/实例的属性。 请参阅如何将setAccessible限制为仅“合法”使用? 进行一些有趣的讨论。