2017-02-21 73 views
5

我在一个相对复杂的Java项目上工作,其中类之前通常有四个或五个祖先。鉴于这样的课程,例如D像这样的层次结构:Object > A > B > C > D,我想知道它有效实现的所有接口。也就是说,我也有兴趣看到D实现了比如说Serializable,即使这只是在类别B的声明中声明,并且即使D没有实际实现接口指定的任何方法(当然,如果谈论Serializable)。IntelliJ IDEA:有没有办法列出由类及其父母实现的所有接口?

的这个信息,我尝试了一些可能的来源包括:使用“集团通过定义类型” Structure窗口

  • - 但不会显示空接口(=接口没有方法),并
  • “层次结构”窗口 - 但在查看类的层次结构时不包括接口。

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

+0

不知道的InteliJ,但你可以在代码中的一行做http://stackoverflow.com/questions/6616055/get-all-derived-interfaces-of -a-class –

回答

2

你可以试试

  • 打开类文件。
  • Press Ctrl + H。 (或者只是在项目窗口中导航并按下键。)
  • 您可以看到层次结构图显示在右侧。
  • 尝试切换到超类型层次(在下图中红色圈出)按钮。 :))

enter image description here

+1

谢谢,这就是我一直在寻找的! – mkorvas

1

如果你的罚款与UML表示,然后

Ctrl+Shift+Alt+UCtrl+Alt+U上默认的Windows键盘映射在Mac上使用

⌥⇧⌘U⌥⌘U

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

+0

我似乎没有这个选项。我有一个IDEA v2016.2.5,但这个功能应该已经在那里了:https://www.jetbrains.com/help/idea/2016.2/viewing-class-hierarchy-as-a-class-diagram.html。但是,快捷方式不起作用(我在Linux上)并且在上下文菜单中看不到该选项。如果不是由于某个插件缺失导致的,我想这是因为这个项目实际上是Java和Groovy的混合体,这可能不会被图表功能所支持。 – mkorvas

相关问题