如何在Eclipse中找到哪些类实现特定的接口?

时间:2011-09-12 09:00:48

标签: java eclipse interface

我有一个应用程序作为具有许多依赖项的JAR文件。出于某种原因,我需要反编译其中一个库并使用Eclipse打开它。对于项目中的给定接口,有没有办法找到实现它的类?可能是接口在我尚未反编译的其他库中实现的情况。是否有可能为这类课程做到这一点?

7 个答案:

答案 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环境)