Java——类之间的关系
3.7 类之间的关系
3.7.1 泛化关系
类和类之间的继承关系及接口与接口之间的继承关系。


3.7.2 实现关系
类对接口的实现。

3.7.3 关联关系
类与类之间的连接,一个类可以知道另一个类的属性和方法,在java 语言中使用成员变量体现。

Me
|
public class Me{ String name; //Field //在当前类中含有其他类的引用。 //在当前对象中含有指向其他对象的引用。 //朋友 Friend f; //Me和Friend就是关联关系 Me(Friend f){ this.f = f; } } |
Friend
|
public class Friend{ //Field String name; String addr; String tel; Friend(String addr){ this.addr = addr; } } |
Test
|
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.7.4 聚合关系
是关联关系的一种,是较强的关联关系,是整体和部分的关系,如:汽车和轮胎,它与关联关系不同,关联关系的类处在同一个层次上,而聚合关系的类处在不平等的层次上,一个代表整体,一个代表部分,在java 语言中使用实例变量体现。

Classroom
|
//ClassRoom就是整体 public class ClassRoom{ //ClassRoom和List集合属于关联关系.在同一个层级上. //ClassRoom和Student属于聚合关系,一个是整体,一个是部分. List<Student> stus; //Student就是部分. //聚合关系:整体不依赖部分,部分也不会依赖整体。 //整体无法决定部分的生命周期。 } |
Student
|
public class Student{ } |
3.7.4 合成关系
是关联关系的一种,比聚合关系强的关联关系,如:人和四肢,整体对象决定部分对象的生命周期,部分对象每一时刻只与一个对象发生合成关系,在java 语言中使用实例变量体现。

人
|
public class 人{ //人和List是关联关系. //人和四肢是合成关系,人是整体,四肢是部分. //合成关系和聚合关系是相似的,区别的地方在:整体和部分是紧密相连的 //整体的生命周期决定部分的生命周期。 List<四肢> s; } |
四肢
|
public class 四肢{ } |
3.7.5 依赖关系
依赖关系是比关联关系弱的关系,在java 语言中体现为返回值,参数,局部变量和静态方法调用。

Test
|
public class Test{ public void m1(){ //局部变量 User u = new User(); //依赖关系. } } |
|
User |
|
class User{ } |
Java——类之间的关系的更多相关文章
- java 类之间的关系
一.继承 二.实现 三.组合
- Java 中类与类之间的关系
在java中类和类之间的关系基本上有依赖.关联.聚合.组合等 一.继承关系 继承指的是一个类(称为子类.子接口)继承另外的一个类(称为父类.父接口)的功能,并可以增加它自己的新功能的能力.在J ...
- java 类与类之间的关系 及uml图
类与接口之间的关系 : 继承 类与类之间的关系 :继承关系 包含关系 类与对象之间的关系 : 实例 UML 类图中类与类之间的关系: 泛化关系(generalization) 关联关系(associ ...
- 全面解释java中StringBuilder、StringBuffer、String类之间的关系
StringBuilder.StringBuffer.String类之间的关系 java中String.StringBuffer.StringBuilder是编程中经常使用的字符串类,在上一篇博文中我 ...
- 【47】java的类之间的关系:泛化、依赖、关联、实现、聚合、组合
java的类之间的关系:泛化.依赖.关联.实现.聚合.组合 泛化: • 泛化关系(Generalization)也就是继承关系,也称为"is-a-kind-of"关系,泛化关系用于 ...
- Java中接口与接口和类之间的关系
接口和接口之间的关系 继承关系 可以多继承,并且可以多层继承 注意: 1.如果多个父接口中有同名的抽象方法,那么子接口只需要实现一次即可 2.如果多个父接口中有同名的默认方法,那么子接口必须重写默认方 ...
- Java类之间的关联关系(转载)
Java类之间的关联关系 UML类图中的关系分为四种:泛化.依赖.关联.实现:关联关系又可以细化为聚合和组合. 一.泛化(Generalization) 泛化是父类和子类之间的关系,子类继承父类的所有 ...
- UML类图及类与类之间的关系
原文地址:http://www.uml.org.cn/oobject/201211231.asp 类图用于描述系统中所包含的类以及它们之间的相互关系,帮助人们简化对系统的理解,它是系统分析和设计阶段的 ...
- ZT UML 类与类之间的关系
1.聚合关系是关联关系的一种,是强的关联关系. 2.聚合是整体和部分之间的关系,例如汽车由引擎.轮胎以及其它零件组成. 3.聚合关系也是通过成员变量来实现的.但是,关联关系所涉及的两个类处在同 ...
随机推荐
- Python自动补全缩写意义
自动补全的变量的类别p:parameter 参数 m:method 方法(类实例方法)调用方式classA aa.method()或者classA().method() c:class 类 v:var ...
- Java:新建数组
Array Initialization int[] a; = int a[]; int[] a = new int[100]; a[]的值会被初始化为0 `int[] smallPrimes = { ...
- [CSP-S模拟测试]:字符(模拟+剪枝)
题目传送门(内部题33) 输入格式 第一行,两个整数$T,C$,表示测试数据组数和字符种类数.对于每组数据:第一行,一个正整数$M$:接下来的$M$行,每行两个整数$P_k,X_k$($S$的下标从$ ...
- mysql常用内置函数-查询语句中不能使用strtotime()函数!
来自:http://yushine.iteye.com/blog/775407 FROM_UNIXTIME把 unix时间戳转换为标准时间 unix_timestamp把标准时间转换为 unix时间戳 ...
- 软件-平面设计-CorelDRAW:CorelDRAW
ylbtech-软件-平面设计-CorelDRAW:CorelDRAW CorelDRAW Graphics Suite是加拿大Corel公司的平面设计软件:该软件是Corel公司出品的矢量图形制作工 ...
- 58、salesforce学习笔记(五)
Set集合 Set<String> set1 = new Set<String>(); set1.add('1'); set1.add('2'); Set<String& ...
- UCML 原生Android中嵌入Cordova Webview
Android实现在当前进程打开网页可以将Cordova中的WebView嵌入Android项目中,实现简单,不需要自己实现,所以掌握如何嵌入WebView对项目快速开发很有帮助 官方也有这方面的教程 ...
- Java + selenium Timeout接口用法介绍
上一篇介绍了关于如何启动浏览器的方法.这篇文章要介绍一下,上一篇代码中关于等待时间的接口方法,代码如下: driver.manage().timeouts().pageLoadTimeout(5, T ...
- python学习笔记:模块——自定义模块的3种导入方式
一.定义 模块就是用一堆的代码实现了一些功能的代码的集合,通常一个或者多个函数写在一个.py文件里,而如果有些功能实现起来很复杂,那么就需要创建n个.py文件,这n个.py文件的集合就是模块.如果不懂 ...
- Python面试题之“猴子补丁”(monkey patching)指的是什么?这种做法好吗?
“猴子补丁”就是指,在函数或对象已经定义之后,再去改变它们的行为. 举个例子: import datetime datetime.datetime.now = lambda: datetime.dat ...