IntelliJ IDEA:有没有一种方法可以列出类及其父类实现的所有接口?

19
我正在处理一个比较复杂的Java项目,其中类通常在 之前有四个或五个祖先。给定这样一个类,比如在像这样的继承体系中的"D": > A > B > C > D,我想知道它有效实现了哪些接口。也就是说,我还想看到D实现了,比如Serializable,即使它只在类B的声明中声明,而且当D实际上没有实现接口指定的任何方法时(如果谈论Serializable)。
我尝试了一些可能提供此信息的来源,包括:
- 在"结构"窗口中使用"按定义类型分组"功能,但它不会显示空接口(即没有方法的接口),以及 - "层次结构"窗口--但它在查看类的层次结构时不包括接口。
在IDEA中是否有一种方法可以获得此信息,而无需打开所有祖先类的文件?

不确定InteliJ,但你可以用一行代码实现。https://dev59.com/3Ww15IYBdhLWcg3wbbNx - Egor Zhuk
请参见几乎相同的 https://dev59.com/Vm865IYBdhLWcg3wFqnY#9990283 - elonderin
2个回答

22

您可以尝试以下方法:

  • 打开类文件。
  • Ctrl + H 键。(或通过项目窗口导航并按下这些键。)
  • 您会看到层次结构图在右侧显示。
  • 尝试切换到超类型层次结构(如下图中用红色圆圈标出的按钮):))

输入图片说明


1
谢谢,这正是我在寻找的! - mkorvas

2

我似乎无法使用这个选项。我有一个IDEA v2016.2.5,但这个功能应该已经存在:https://www.jetbrains.com/help/idea/2016.2/viewing-class-hierarchy-as-a-class-diagram.html。然而,快捷键不起作用(我在Linux上),并且在上下文菜单中也没有看到该选项。如果这不是由于某些插件缺失引起的,我猜想这个项目实际上是Java和Groovy混合编写的,这可能不受图表功能的支持。 - mkorvas

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