我有一个类,它使用 XML 和反射将 Object
返回给另一个类。
通常,这些对象是外部对象的子字段,但是有时候我想动态地生成它。我试过这样的方法,但没有用。我相信这是因为 Java 不允许访问 private
方法进行反射。
Element node = outerNode.item(0);
String methodName = node.getAttribute("method");
String objectName = node.getAttribute("object");
if ("SomeObject".equals(objectName))
object = someObject;
else
object = this;
method = object.getClass().getMethod(methodName, (Class[]) null);
如果提供的方法是 private
,那么它将以 NoSuchMethodException
失败。我可以通过创建方法 public
来解决这个问题,或者创建另一个类来派生它。
长话短说,我只是想知道是否有一种通过反射访问 private
方法的方法。