Java:动态加载同一类的多个版本

Jon*_*eah 6 java osgi classloader

我希望能够做的是加载一组类,可能都在同一个文件夹中.所有这些都实现了相同的接口并且是同一个类,然后在我的代码中我希望能够在这些类上调用函数.

Jim*_*son 5

根据您对我的问题的回答,您似乎想要定义游戏界面,然后插入任意数量的AI实现,可能是从.properties文件配置的.这是API接口的相当标准的使用.

您定义了一个EngineInterface,它提供了一种接受游戏状态并返回移动的方法.然后定义所有实现EngineInterface的多个类.您的驱动程序读取属性文件以获取实现类的名称,使用Class.forName()实例化它们并将它们存储在列表和/或映射中.然后,当驱动程序获得请求时,它依次调用每个实现并跟踪结果.