使用反射获取扩展“Solid”类的所有类的列表

时间:2013-09-02 17:22:31

标签: java reflection

我知道如何使用Reflection确定类的超类。所以,如果我有一个游戏,并且我有一个地图编辑器,我希望它有一个带有按钮的面板来选择可以添加到游戏并添加它的任何类型的Solid,理论上我可以使用反射来查看通过我游戏中的所有类,看看哪些类具有超级“实体”,然后在面板中添加一个按钮。阻止我这样做的唯一原因是我需要一个所有类的列表来搜索,有没有办法可以实现呢?

1 个答案:

答案 0 :(得分:2)

您可能想要Java Service Provider Interface。它通过让你在jar清单中列出实现“插件”(提供者)类来解决这个问题。然后,您使用ServiceLoader询问所有可用的实现,并且只需使用Class.forNameHere's another useful overview.