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

Am1*_*3zA 84 java eclipse interface

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

JB *_*zet 109

右键单击界面,然后选择"打开类型层次结构".然后单击"显示子类型层次结构".

  • 当然是.Eclipse只知道类路径中的类.它不会扫描整个硬盘以找到实现您的界面的类. (5认同)

Sco*_*ion 44

选择classname后尝试Ctrl+ T; 应该在Java Perspective中工作.


Niv*_*vas 11

您可以在项目上"显示类型层次结构"(右键单击以选择此选项或F4在项目突出显示时按下)*.

但是,这将仅列出那些被引用的项目中的项目("依赖").不在其他人.

因此,如果您已经反编译了一个jar,并且还有另一个您没有反编译的jar,那么该jar中的实现(接口)将不会被列出.

另外,假设您已将jar反编译为项目,并且有另一个项目指的是jar,而不是反编译的项目,其中的实现也将不会列出.

因此,您必须对所有jar进行反编译并将它们添加为项目(并通过"Java Build Path"添加引用)以确保列出您选择的jar中的所有实现.

*快速类型层次结构,ctrl + T 将在工具提示/自动完成类型的面板中显示类似的结构.但是,完整的类型层次结构对于您打算进行的分析类型更有用.


小智 7

Java Search中有单选按钮"Implementors".

  • 它怎么不回答这个问题?打开Java Search,输入接口名称,单击"Implementors",您将"找到实现特定接口的类". (3认同)