我有一个具有许多依赖项的JAR文件应用程序。由于某种原因,我需要反编译其中一个库,并使用Eclipse将其打开。对于项目中的给定接口,是否可以找到实现它的类?该接口可能是在我尚未反编译的其他库中实现的。是否可以针对此类课程呢?
Answers:
右键单击界面,然后选择“打开类型层次结构”。然后单击“显示子类型层次结构”。
您可以在项目上“显示类型层次结构”(右键单击以选择此选项,或F4在项目突出显示时按)*。
但是,这只会列出那些引用的项目中的项目(“从属”)。没有其他人。
因此,如果您已经反编译了一个jar,并且还有另一个您尚未反编译的jar,那么该jar中的(接口的)实现将不会列出。
另外,假设您已经将jar分解为一个项目,并且还有另一个引用jar的项目,而不是反编译的项目,那么其中的实现也不会列出。
因此,您将必须反编译所有jar,并将其添加为项目(并通过“ Java Build Path”添加引用),以确保列出了您选择的jar中的所有实现。
*快速类型层次结构ctrl + T 将在工具提示/自动完成类型的面板中显示类似的结构。但是完整的类型层次结构对于您打算进行的分析类型更有用。
Java Search中有一个单选按钮“ Implementors”。
Ctrl + H(搜索选项)打开Java Search透视图,然后输入接口名称,单击Implementors单选按钮,您将发现哪些类实现了特定的接口。与上述stackexchanger的答案相同
选择类名称,然后在Eclipse中选择“ F4”(Windows环境)