关于类图,有很多画图软件,比如ProcessOn,powerDesigner,StarUML....当然,代码写好了也可以逆向生成类图,下面,为大家介绍的是IDEA逆向生成类图的过程:

操作步骤:

选中需要生成类图的类,右键选择Diagrams,之后选择Show Diagrams,或者选中类之后直接输入快捷键Ctrl+Alt+Shift+U

idea java显示类图 idea打开类图_类图

1.Show Diagrams:展示示意图(以页面的方式)

idea java显示类图 idea打开类图_ci_02

2.Show Diagrams Popup:以弹出的方式展示示意图(在需要生成类下以弹出方式显示)

idea java显示类图 idea打开类图_idea java显示类图_03

细心地小可爱有没有发现,显示的联系不全呢?页面任意位置右击,选择Show Dependencies(展示依赖)

idea java显示类图 idea打开类图_ci_04

效果:

idea java显示类图 idea打开类图_内部类_05

下面,带大家熟悉一下工具栏:

idea java显示类图 idea打开类图_ci_06

从上到下依次对应:

num

按钮

功能

1

Fields

属性

2

Constructors

构造器

3

Method

方法

4

Properties

属性

5

Inner Class

内部类

6

Change Visibility Level

更改可见性级别

7

Change Scope

改变范围

8

Edge Creation Mode

边缘创建模式

9

Show Dependencies

显示依赖关系

10

Zoom In

放大

11

Zoom Out

缩小

12

Actual Size

实际尺寸

13

Fit Content

调整内容

14

Apply Current Layout

应用当前布局

15

Save diagram

保存示意图

16

Export to file

导出文件

17

Print

打印

问题:

1.如果需要其他包下的类也显示到现在已有的类图中怎么办呢?

解决:i.选中该类直接拖拽进来

          ii.右键单击Add Class to Diagram,之后输入想要加入进来的类名就可以了

   

idea java显示类图 idea打开类图_ci_07

输入想要加入进来的类名就可以了

               

idea java显示类图 idea打开类图_idea java显示类图_08

2.类图中各个小图标的含义?

一、类的访问修饰符:

i.public:一把绿色的打开状态的小锁 idea java显示类图 idea打开类图_ci_09

ii.protectrd:一把灰色的钥匙 idea java显示类图 idea打开类图_内部类_10

iii.default:一个灰色的圆环 idea java显示类图 idea打开类图_内部类_11

iv.private:一把橙色的上了锁的锁  idea java显示类图 idea打开类图_idea java显示类图_12

二、抽象(左右两边像是被各切了一刀变成灰色)

i.抽象类:idea java显示类图 idea打开类图_ci_13

ii.抽象方法:idea java显示类图 idea打开类图_idea java显示类图_14

三、静态(左下角有一个旋转了45度的正方体,中间有一个空心的圆)

i.静态内部类:idea java显示类图 idea打开类图_类图_15

ii.静态方法:idea java显示类图 idea打开类图_内部类_16

iii.静态属性:idea java显示类图 idea打开类图_idea java显示类图_17

四、final(左上角像顶着小雨伞)

i.final类:idea java显示类图 idea打开类图_类图_18

ii.final方法:idea java显示类图 idea打开类图_内部类_19

iii.final属性:idea java显示类图 idea打开类图_类图_20

3.UML几种关系表示?

i.在IDEA生成的类图中没有看到过聚合关系,怎么回事?

在IDEA生成的类图中,组合和聚合都表示为组合,都能表示整体与部分的关系,但是又有区别,详情请参考另一篇博客:UML类图的几种关系及对应java代码

ii.这表示什么?

idea java显示类图 idea打开类图_ci_21

表示内部类,直线所指的方向是内部类,带圆圈加号的所指的是该内部类的外部类

总结:IDEA是一个很神奇的工具,他有好多的功能在等待我们去发现~~~