如何在应用程序中的所有java类中找到某个方法?

如何在应用程序中的所有java类中找到某个方法?,java,Java,在运行时,我希望在应用程序中找到具有特定加载方法的所有可能类。如果是这样的话,我会运行它。唯一的问题是。。。我不知道如何检查该方法的所有类。如果该方法位于特定的类或接口上,您可以右键单击方法名称,选择引用,然后选择项目或工作区,它将显示该方法在项目或工作区中的所有用法。这假设所讨论的项目的所有源代码都加载到Eclipse中。我不知道您是希望在运行时以编程方式执行此操作(我的假设),还是只进行文本搜索(其他答案的假设)。如果类已经加载,您可以使用Instrumentation.getAllLoad

在运行时,我希望在应用程序中找到具有特定加载方法的所有可能类。如果是这样的话,我会运行它。唯一的问题是。。。我不知道如何检查该方法的所有类。

如果该方法位于特定的类或接口上,您可以右键单击方法名称,选择引用,然后选择项目或工作区,它将显示该方法在项目或工作区中的所有用法。这假设所讨论的项目的所有源代码都加载到Eclipse中。

我不知道您是希望在运行时以编程方式执行此操作(我的假设),还是只进行文本搜索(其他答案的假设)。如果类已经加载,您可以使用
Instrumentation.getAllLoadedClasses()
来获取所有类的列表,然后使用
Class.getDeclaredMethod()
对每个类进行迭代,以找到您要查找的方法,您可以通过这种方式调用它


如果类尚未加载,则必须先显式加载它们(例如,如果知道它们的名称,则使用
Class.forName()
,或者通过扫描源代码树以查找要加载的
.Class
文件。)

您的问题不清楚。要搜索源代码还是JAR?源代码。我想知道如何在所有类中查找load方法。OP意味着在运行时通过反射(它隐含在下面一个答案的注释中)。我编辑了这个问题以反映我对OP的看法(Sonofmetal)是真的在问。不,我的意思是我怎样才能在所有可能的类中找到一个特定的加载方法。好吧……这会帮助更多,但我该如何调用呢?我不擅长调用。谢谢你的帮助!:)阅读文档并查看反射教程,例如:)