1、泛化关系
package nfanhuaguanxi; public class A {}
package nfanhuaguanxi; //B继承A,A和B之间的关系属于泛化关系 public class B extends A{}
package nfanhuaguanxi; public interface C {}
package nfanhuaguanxi; //D和C两个接口之间继承也属于泛化关系 public interface D extends C{}
2、关联关系
package nguanlianguanxi; public class Friend { String name; String addr; String tel; public Friend(String addr){ this.addr = addr; } }
package nguanlianguanxi; public class Me { //属性 String name; //在当前类中含有其他类的引用 //在当前对象中含有指向其他对象的引用 //朋友 Friend f; //Me和friend就是关联关系 Me(Friend f){ this.f = f; } }
package nguanlianguanxi; public class Test { public static void main(String[] args) { Friend f = new Friend("北京朝阳"); //建立关联关系 Me m = new Me(f); //通过m可以获取朋友的住址 System.out.println(m.f.addr); } }
3、合成关系
package nhechengguanxi; public class body { }
package nhechengguanxi; public class people { //人和list是关联关系 //人和四肢是合成关系,人是整体,四肢是部分 //合成关系和聚合关系是相似的,区别的地方在:整体和部分是紧密相连的 //整体的生命周期决定部分的生命周期 //未知错误 //List<body> s; }
4、聚合关系
package njuheguanxi; public class Student { }
package njuheguanxi; public class ClassRoom { //ClassRoom和List集合属于关联关系,在同一个层级上 //ClassRoom和Student属于聚合关系,一个是整体,一个是部分 //未知错误 //List<Student> stus; //Student就是部分 //聚合关系:整体不依赖部分,部分也不会依赖整体 //整体无法决定部分的生命周期 }
5、实现关系
package nshixianguanxi; public interface A { void m1(); }
package nshixianguanxi; //B类实现了A接口,之间属于实现关系 public class B implements A{ public void m1(){} }
6、依赖关系
package nyilaiguanxi; public class Test { public void m1(){ //局部变量 User u = new User(); //依赖关系 } } class User{}
原文:https://www.cnblogs.com/Lerresino/p/13499601.html