IntelliJ IDEA:有没有办法列出一个类及其父类实现的所有接口?

Posted

技术标签:

【中文标题】IntelliJ IDEA:有没有办法列出一个类及其父类实现的所有接口?【英文标题】:IntelliJ IDEA: Is there a way to list all interfaces implemented by a class and its parents? 【发布时间】:2017-07-11 15:59:51 【问题描述】:

我从事一个相对复杂的 Java 项目,其中类通常在 Object 之前有四个或五个祖先。给定这样一个类,例如D 在这样的层次结构中:Object > A > B > C > D,我想知道它有效实现的所有接口。也就是说,我也有兴趣看到D 实现了,比如说,Serializable,即使它只在类B 的声明中声明,即使D 实际上没有实现任何指定的方法界面(当然,如果谈论Serializable)。

我尝试过的这些信息的一些潜在来源包括:

在“结构”窗口中使用“按定义类型分组”——但这不会显示空接口(= 没有方法的接口),并且 “层次结构”窗口 -- 但在查看类的层次结构时不包括接口。

有没有办法在 IDEA 中获取这些信息,而无需打开相关类的所有祖先类的文件?

【问题讨论】:

不确定 InteliJ 但您可以在一行代码中做到这一点***.com/questions/6616055/… 另见几乎重复的***.com/questions/3990781/… 【参考方案1】:

你可以试试

打开类文件。 按 Ctrl + H。 (或者只是浏览项目窗口并按下按键。) 您可以看到层次图出现在右侧。 尝试切换到 Supertypes Hierarchy(在下图中以红色圈出)按钮。 :))

【讨论】:

谢谢,这正是我想要的!【参考方案2】:

如果你对 UML 表示没问题,那么使用

在 mac 上按 ⌥⇧⌘U⌥⌘U

在默认 Windows 键盘映射上按 Ctrl+Shift+Alt+UCtrl+Alt+U

见https://www.jetbrains.com/help/idea/2016.3/viewing-class-hierarchy-as-a-class-diagram.html

【讨论】:

我似乎没有这个选项。我有一个 IDEA v2016.2.5,但这个功能应该已经存在:jetbrains.com/help/idea/2016.2/…。但是,快捷方式不起作用(我在 Linux 上)并且我在上下文菜单中看不到该选项。如果不是由于缺少某些插件引起的,我猜是因为这个项目实际上是 Java 和 Groovy 的混合体,图表功能可能不支持。

以上是关于IntelliJ IDEA:有没有办法列出一个类及其父类实现的所有接口?的主要内容,如果未能解决你的问题,请参考以下文章

idea里面html保存不了,intellij idea 不能保存项目,报错解决办法

如何在 IntelliJ IDEA 中设置多语言项目

有没有办法以编程方式区分 IntelliJ IDEA 和 Android Studio [重复]

如何解决 Intellij Idea 的所有 checkstyle 问题?

有没有办法使用 Android Studio 部署 Libgdx 桌面应用程序(基于 IntelliJ Idea 的 IDE)

有没有办法使用Android Studio部署Libgdx桌面应用程序(基于IntelliJ Idea的IDE)