1. 依赖
A类只作为B类中方法的参数或返回值,则A类与B类之间存在依赖关系
2. 关联
A类作为B类的属性(成员变量),则A类与B类之间存在关联关系
3. 聚合
聚合关系属于关联关系,A类作为B类的属性,但A类的实例化不是在B类中实现的,则A类与B类之间存在聚合关系。
比如在C类中实例化了A类,并将A类对象通过B类对象的set方法或B类的带参数构造器传入B中。聚合关系下B类中的A属性有可能为null。
4. 组合
组合关系也属于关联关系,A类作为B类的属性,并且在B类中包含了A类的实例化过程,则A类与B类之间存在组合关系。
比如C类实例化B类时,B类会在构造方法中对A类进行实例化,A类与B类的产生和灭亡完全同步。聚合关系下B类中的A属性不可能为null。