如何find哪些类在Eclipse中实现特定的接口?
我有一个应用程序作为与许多依赖关系的JAR文件。 出于某种原因,我需要反编译一个库,并用Eclipse打开它。 对于项目中的给定接口,是否有find实现它的类的方法? 可能是这个接口是在其他库中实现的,我还没有反编译。 这种类可以做到这一点吗?
右键单击界面,然后select“打开types层次结构”。 然后点击“显示子types层次结构”。
select类名后再试Ctrl + T ; 应该在Java Perspective中工作。
您可以在项目上显示“types层次结构”(右键单击以select此选项,或在项目高亮显示时按F4 )*。
但是,这只会列出那些被引用的项目(“依赖”)中的项目。 不在其他人。
所以如果你已经反编译了一个jar,并且还有另一个你没有反编译的jar,那么这个jar中的实现(接口)将不会被列出。
另外,假设你已经将一个jar反编译为一个项目,并且还有另外一个项目引用了jar,而不是反编译的项目,那么这个实现也不会被列出。
所以你将不得不反编译所有的jar子,并将它们添加为项目(并通过“Java构buildpath”添加引用),以确保列出了所选jar子中的所有实现。
*快速types层次结构, ctrl + T将在工具提示/自动填充types的面板中显示类似的结构。 但是完整的types层次结构对于您打算执行的分析types更有用。
Javasearch中有单选button“Implementors”。
或者右键单击并select“ Quick Type Hierarchy
以进行扩展接口和实现类的下拉菜单。
Ctrl + H(search选项)打开Javasearch透视图并input接口名称,点击Implementors单选button,你会发现哪些类实现了一个特定的接口。 和上面的stackexchanger的回答一样
select类名称,然后在Eclipse中select“F4”(Windows环境)