类关系

1 继承

使用extends表示
类A extends 类B
接口A extends 接口B,接口C
类和类是单继承,接口和接口是多继承

2 实现 implements

类A impeachments  接口B,接口C

类和接口是多实现

3 依赖

某个类的方法中的局部变量,是另一个类对象的引用
          这种关系是临时性的,方法执行结束,关系就不存在了

4 关联

某个类的成员/静态变量是另一个类对象的引用
      这个关系一般是长期性的

5 聚合

整体和局部可以分离,各自具有生命周期
           比如: 一个公司由员工构成,这是,就算公司倒闭,员工也依然存活
           员工也有员工的生命周期
           把好多有意义的模块,聚合到一起使用,形成一个有意义的功能,就算这个功能结束,也不会影响每个小模块的生命周期
           
           比如A保存B的引用,这个引用一般是 调用处传递过来的, 这样调用处和A都保存B
           这个时候就算A销毁了,B也不会销毁,因为还有其他引用的指向

6 组合

组合关系要强于聚合,也有的叫强聚合
               同样是整体和局部,只不过不可分离,局部没有生命周期
               比如: 人,有眼镜,有腿,有胳膊。。。如果人死了,胳膊也就动不了了,眼睛也就看不见了,都没有什么意义了
               他们的生命周期是一起的
               
               比如A保存B的引用,这个引用一般是自己创建的(A的构造方法中或者成员变量直接初始化另一个类对象)
               这样每创建一个A对象,都会去创建一个B对象,A对象销毁,B对象也会销毁,成为垃圾数据
public class Test {
	//关联关系:成员变量是另一个类对象引用
	A a = new A();
	public static void main(String[] args) {
		//依赖关系:局部变量是另一个类对象引用
		B b = new B();
	}

}
//继承关系  类单继承
class A extends B{
	
}
class B{
	
}

//继承 接口多继承
interface C extends D,E{
	
}
interface D{
	
}
interface E{
	
}