1

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

4

1 回答 1

2

您可能需要 Java服务提供者接口。它通过让您在 jar 清单中列出实现的“插件”(提供程序)类来解决这个问题。然后,您使用ServiceLoader来询问所有可用的实现,并且您只需使用Class.forName. 这是另一个有用的概述。

于 2013-09-02T17:27:25.530 回答