我可以动态引用java中的对象吗?

时间:2012-06-17 07:41:36

标签: java object dynamic reference runtime

我正在一个名为AnyLogic的模拟环境中工作,它使用Java作为底层代码。

在我的示例中,用户绘制流程图,并在运行时实例化流程图的每个元素。我可以通过代码确定用户绘制的内容:

           LinkedList eo = (LinkedList) this.getEmbeddedObjects();
  • 返回表示流程图中所有对象名称的字符串列表。

我想动态访问这些对象的方法,但我是Java的新手,不知道如何解决这个问题。根据我对反射的理解,我可以实例化一个classForName,但是在这种情况下我已经有了实例化的对象,我想使用字符串来访问它们。

我不确定如何继续并感谢任何建议。

谢谢: - )

3 个答案:

答案 0 :(得分:2)

http://java.sun.com/developer/technicalArticles/ALT/Reflection/

您可以获取方法名称列表,找到所需的方法名称并调用它。

答案 1 :(得分:1)

您可以使用Java reflection API完成任务。

虽然这个API有点冗长。如果这是一个问题,那么您应该选择其中一个fluent reflection APIs

答案 2 :(得分:0)

什么是“流程图中所有对象的名称”? 你有一些HashMap按名字存储对象吗?如果是这样,只需按名称获取一个对象并直接调用其方法,而不进行任何反射。