我有一个应用程序作为具有许多依赖项的JAR文件。出于某种原因,我需要反编译其中一个库并使用Eclipse打开它。对于项目中的给定接口,有没有办法找到实现它的类?可能是接口在我尚未反编译的其他库中实现的情况。是否有可能为这类课程做到这一点?
答案 0 :(得分:106)
右键单击界面,然后选择“打开类型层次结构”。然后单击“显示子类型层次结构”。
答案 1 :(得分:43)
选择classname后,尝试 Ctrl + T ;应该在Java Perspective中工作。
答案 2 :(得分:11)
您可以在项目上“显示类型层次结构”(右键单击选择此选项或在项目突出显示时按 F4 )。*。
但是,这将仅列出那些被引用的项目中的项目(“依赖”)。不在其他人。
因此,如果您已经反编译了一个jar,并且还有另一个您没有反编译的jar,那么该jar中的实现(接口)将不会被列出。
另外,假设你已经将jar反编译为一个项目,并且有另一个项目指的是jar,而不是反编译的项目,那里的实现也不会被列出。
因此,您必须对所有jar进行反编译并将它们添加为项目(并通过“Java Build Path”添加引用),以确保列出您选择的jar中的所有实现。
*快速类型层次结构, ctrl + T 将在工具提示/自动完成类型的面板中显示类似的结构。但是完整的类型层次结构对于您打算进行的分析类型更有用。
答案 3 :(得分:7)
Java Search中有单选按钮“Implementors”。
答案 4 :(得分:1)
或者右键单击并选择Quick Type Hierarchy
以获取扩展接口和实现类的下拉菜单。
答案 5 :(得分:0)
Ctrl + H(搜索选项)打开Java Search透视图,输入界面名称,单击“实施者”单选按钮,您将找到实现特定界面的类。与上面的stackexchanger的答案相同
答案 6 :(得分:0)
选择班级名称,然后选择' F4'在Eclipse(Windows环境)