如何在Eclipse中查找给定类的哪些子类实现了特定接口?

4

我需要在一个大型项目中浏览实现特定接口B的给定类A的子类。

在Eclipse中有没有办法过滤A类的子类的类型层次结构,只显示实现接口B的子类,或者过滤实现接口B的类的层次结构,只显示A类的子类?

1个回答

2
您可以分两步使用Java搜索:
假设A的子类C1和C3实现了B,但C2没有:
第一步,选择类A并使用Java搜索(搜索 - > Java...)选项implementors搜索A的所有子类:

enter image description here

然后搜索视图弹出,我们可以看到 A 的所有子类:

enter image description here

选择它们并再次点击“搜索->Java...”现在我们可以在这个选择范围内搜索 B 的实现类。

enter image description here

这给我们提供了实现BA的子类:

enter image description here


1
那是我的第一想法,但不幸的是,“实现者”仅查找类型的直接实现者,不像“类型层次结构”那样找到所有实现者。此外,在类型层次结构中无法选择项目以用作搜索中的“选定项目”。这非常令人沮丧。 - xtratic
donttrythat 提出的程序运行良好,但是 xtratic 发现了一个重要的缺陷。非常感谢 @donttrythat 的时间和详细描述。 - Majka

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接