例举 UML 图中常见的关系及其表示方式
泛化 Generalization
对应 Java 中的继承,实线 + 实心三角指向父类

实现 Realization
对应 Java 中的实现,虚线 + 空心三角指向接口

关联 Association
对应 Java 中的成员变量,拥有关系,使一个类知道另一个类的属性和方法,可单向可双向。实心线 + 普通箭头指向被拥有者

聚合 Aggregation
整体与部分的关系,比如车和轮胎。他是一种强关联关系。空心菱形指向整体 + 实线 + 普通箭头指向部分

组合 Composition
整体与部分的关系,程度比聚合还要强的关联关系。实心菱形指向整体 + 实线 + 普通箭头指向部分

依赖 Dependency
对应 Java 中的局部变量,方法参数和静态方法调用,是一种使用的关系,所以要尽量不使用双向的互相依赖。虚线 + 普通箭头指向被使用者
