做Java开发的,现在普遍都用上idea了。可以说,idea是当之无愧的Java开发神器。如果,你现在还没用idea,那肯定是你还没有感受过它的强大。

好了,话不多说,今天的主题主要是教大家怎么通过idea快速的查看一个类的类图关系,即一个类继承了哪些类,实现了哪些接口,以及接口有哪些子接口和实现类。

一、类关系

以一个阻塞队列LinkedBlockingQueue为例:

1)通过 Ctrl+Shift+N 找到这个类。

怎么用IDEA快速查看类图关系?_第1张图片
2)进到类里,在类名上面右键单击,选择 Diagrams -> Show Diagram 。(当然也可以选择第二个Popup,不过是以弹窗的形式展现的类图)

怎么用IDEA快速查看类图关系?_第2张图片

3)这样,就可以看到当前类的完整类图关系。当然,如果类图比较复杂,电脑看不全,可以放大窗口,然后选择下边这个自适应按钮,自适应内容。

怎么用IDEA快速查看类图关系?_第3张图片

二、接口关系

此外,如果想看接口有哪些实现类,可以在类图上边的某个接口单击右键选择 Show Implementations。以 BlockingQueue为例。

怎么用IDEA快速查看类图关系?_第4张图片
可以看到,会展示当前接口所有的子接口和实现类。(我这里边显示多了个1,不知道是什么鬼,点击也没反应,不管啦,没啥影响)

怎么用IDEA快速查看类图关系?_第5张图片

如果,想把所有子接口和实现类添加到类图上面,可以Ctrl+A全选。但是,不建议这样做。因为,类图关系肯定会非常复杂,一下子添加进去几十个类,根本就看不清,而且也没必要。我就不演示了,感兴趣的自己可以试一下。

一般都是选择自己感兴趣的类查看。所以,这里我就选择另外一个比较常用的ArrayBlockingQueue。类图就变成以下这个样子。

怎么用IDEA快速查看类图关系?_第6张图片

此外,还有一种方式可以查看接口的所有实现类。在图中的某个类上边单击一下,然后 Ctrl + H,调出类层级关系。如图,选择这个按钮,显示所有子接口和实现类。上边也会有一行小字提示。

怎么用IDEA快速查看类图关系?_第7张图片

然后,可以选择多个子类和实现类,看他们的类图关系。比如,图中我选中了四个。
Diagrams -> Show Diagram

怎么用IDEA快速查看类图关系?_第8张图片

再选择第一个Java Class Diagrams ,

怎么用IDEA快速查看类图关系?_第9张图片

但是,注意,这种方式,会打开一个新的类图关系,而不是在原来的类图上边新增。

怎么用IDEA快速查看类图关系?_第10张图片

如果,想在原来的类图扩展,还是老老实实用 Show Implementations 的方式吧。(这也是一种很合理的方式)

看完了,是不是感觉非常简单呢,赶紧实操一下吧。