优质博客:IT-BLOG-CN
UML(Unidied Modeling Language)统一建模语言:用来设计软件的可视化建模语言,能够表达软件设计中的动态与静态信息。UML定义了用例图、类图、对象图、状态图、活动图、时序图、协作图、构件图、部署图等9种图。
IDEA 展示类图及类图关系
【1】选中.java或者编辑的.java文件内部,右键选择Diagrams->show Diagrams...随后选择弹出的Java Class Diagrams

 【2】如下就是当前类的UML关系图
 
 类与类一共有如下几种关系:泛化Generalization、实现Realization、依赖Dependence、关联Association、聚合Aggregation、组合Composition
 泛化Generalization: 也叫作继承关系,在UML中我们用带空心三角形的直线来表示,对应IDEA中的蓝色线和蓝色三角;
 实现Realization: 是Java中类与接口的实现关系,在UML中我们用带空心三角形的虚线表示,对应IDEA中的绿色虚线和绿色三角;
 依赖Dependence: 指一个类使用另一个类,这种依赖关系我们用带箭头的虚线表示;
public class ServiceImpl<M extends BaseMapper<T>, T> implements IService<T> {protected M baseMapper;public boolean save(T entity) {return this.retBool(this.baseMapper.insert(entity));}关联Association: 关联关系是一种比较强的关系,他们的关系是比较持久的,稳定的。关联分单向关联和双向关联,如果一个类知道或者引用了另一个类,而另一个类不知道或者没有引用这个类,则这两个类是单向关联的。单向关联我们用带箭头的实线表示,箭头指向被引用或者被包含的类。双向关联是两个类彼此都知道对方的存在,双向关联用不带箭头的实线来连接两个类;
 聚合Aggregation: 聚合关系是一种特殊的关联关系,聚合关系强调的是整体和部分的关系,其中部分可以脱离整体而存在。在UML类图中聚合用带空心菱形的直线表示,其中菱形指向整体;
public class A{     public B b;        public A(B b){this.b = b;     }  
} 
组合Composition: 组合关系也是一种特殊的关联关系,它与聚合关系很像,也是强调整体与部分的关系,不同的是部分无法脱离整体存在。用带实心的菱形直线表示,其中菱形指向整体;
public class A{     public B b;        public A(){// ...this.b = NEW B();  // ...   }  
} 
【3】可以选择类右键后选择Show Categories展示类图的详细信息
 
 【4】当方法太多时,可以右键选择Change Visibility Level进行筛选
 
 【5】查看具体代码,选择类图之后右键Jump to Source
 
 【6】可以通过Add Class to Diagram添加类,也可以选择类图后,通过Delete键删除类图。