我的编程空间,编程开发者的网络收藏夹
学习永远不晚

Java项目中类的关系有哪些

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

Java项目中类的关系有哪些

这篇文章给大家介绍Java项目中类的关系有哪些,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。

Java类之间的关系图

在Java以及其他的面向对象设计模式中,类与类之间主要有6种关系,他们分别是:依赖、关联、聚合、组合、继承、实现。他们的耦合度依次增强。

1. 依赖(Dependence) Java项目中类的关系有哪些

Java项目中类的关系有哪些

依赖关系的定义为:对于两个相对独立的对象,当一个对象负责构造另一个对象的实例,或者依赖另一个对象的服务时,这两个对象之间主要体现为依赖关系。定义比较晦涩难懂,但在java中的表现还是比较直观的:类A当中使用了类B,其中类B是作为类A的方法参数、方法中的局部变量、或者静态方法调用。类上面的图例中:People类依赖于Book类和Food类,Book类和Food类是作为类中方法的参数形式出现在People类中的。

代码样例:

public class People{   //Book作为read方法的形参    public void read(Book book){     System.out.println(“读的书是”+book.getName());   } }

2.关联(Association)Java项目中类的关系有哪些Java项目中类的关系有哪些Java项目中类的关系有哪些

单向关联:

Java项目中类的关系有哪些 

双向关联:

Java项目中类的关系有哪些

对于两个相对独立的对象,当一个对象的实例与另一个对象的一些特定实例存在固定的对应关系时,这两个对象之间为关联关系。关联关系分为单向关联和双向关联。在java中,单向关联表现为:类A当中使用了类B,其中类B是作为类A的成员变量。双向关联表现为:类A当中使用了类B作为成员变量;同时类B中也使用了类A作为成员变量。

代码样例:

public class Son{   //关联关系中作为成员变量的类一般会在类中赋值   Father father = new Father();   public void getGift(){     System.out.println(“从”+father.getName()+”获得礼物”);   } }  public class Father{   Son son = new Son();   public void giveGift(){     System.out.println(“送给”+son.getName()+“礼物”);   } }

3.聚合(Aggregation)Java项目中类的关系有哪些

Java项目中类的关系有哪些

聚合关系是关联关系的一种,耦合度强于关联,他们的代码表现是相同的,仅仅是在语义上有所区别:关联关系的对象间是相互独立的,而聚合关系的对象之间存在着包容关系,他们之间是“整体-个体”的相互关系。

代码样例:

public class People{   Car car;   House house;    //聚合关系中作为成员变量的类一般使用set方法赋值    public void setCar(Car car){     This.car = car;   }   public void setHouse(House house){     This.house = house;   }    public void driver(){     System.out.println(“车的型号:”+car.getType());   }   public void sleep(){     System.out.println(“我在房子里睡觉:”+house.getAddress());   } }

4.组合(Composition)Java项目中类的关系有哪些

Java项目中类的关系有哪些

相比于聚合,组合是一种耦合度更强的关联关系。存在组合关系的类表示“整体-部分”的关联关系,“整体”负责“部分”的生命周期,他们之间是共生共死的;并且“部分”单独存在时没有任何意义。在下图的例子中,People与Soul、Body之间是组合关系,当人的生命周期开始时,必须同时有灵魂和肉体;当人的生命周期结束时,灵魂肉体随之消亡;无论是灵魂还是肉体,都不能单独存在,他们必须作为人的组成部分存在。

Public class People{   Soul soul;   Body body;    //组合关系中的成员变量一般会在构造方法中赋值    Public People(Soul soul, Body body){      This.soul = soul;     This.body = body;   }    Public void study(){     System.out.println(“学习要用灵魂”+soul.getName());   }   Public void eat(){     System.out.println(“吃饭用身体:”+body.getName());   } }

5.继承(Generalization)Java项目中类的关系有哪些

Java项目中类的关系有哪些

        继承表示类与类(或者接口与接口)之间的父子关系。在java中,用关键字extends表示继承关系。UML图例中,继承关系用实线+空心箭头表示,箭头指向父类。

6.实现(Implementation)Java项目中类的关系有哪些

Java项目中类的关系有哪些

表示一个类实现一个或多个接口的方法。接口定义好操作的集合,由实现类去完成接口的具体操作。在java中使用implements表示。UML图例中,实现关系用虚线+空心箭头表示,箭头指向接口。

关于Java项目中类的关系有哪些就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

Java项目中类的关系有哪些

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

Java项目中类的关系有哪些

这篇文章给大家介绍Java项目中类的关系有哪些,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。Java类之间的关系图在Java以及其他的面向对象设计模式中,类与类之间主要有6种关系,他们分别是:依赖、关联、聚合、组合、继
2023-05-31

Java项目中的多线程有哪些关键字

Java项目中的多线程有哪些关键字?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。一、同步(synchronized)和异步(asynchronized)1、同步(synch
2023-05-31

UML中类的关系有哪些

这篇文章将为大家详细讲解有关UML中类的关系有哪些,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。1. OverviewUML设计类中,类的关系分为Generalization(泛化),Dependency
2023-06-17

Java项目有哪些

这篇文章主要讲解了“Java项目有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Java项目有哪些”吧!1. JUnitJUnit 是一个Java语言的单元测试框架。它由Kent Bec
2023-06-17

java中类与类的关系有哪几种

首先在java编程中类与类之间有如下关系:1.依赖2.关联(聚合(整体和部分的关系,例如人与手)和组合(整体与部分的关系,例如人与大脑))3.继承4.实现java相关视频教程分享:java学习一、依赖(Dependence)定义:表示一个类依赖于另一个类的定义
java中类与类的关系有哪几种
2019-02-15

gitee项目有哪些类型

Gitee是一家国内知名的开源协作社区,它提供了丰富的项目类型以供开发者选择。下面就让我们来一起了解一下Gitee项目的类型。代码仓库如果您需要一个安全可靠的代码存储和版本管理工具,Gitee的代码仓库就是您最佳选择之一。代码仓库是Gite
2023-10-22

Bootstrap相关项目有哪些

这篇文章主要为大家展示了“Bootstrap相关项目有哪些”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Bootstrap相关项目有哪些”这篇文章吧。 Bootstrap这些年火得如日中天,去招
2023-06-04

在Java项目中使用枚举类型的方法有哪些

这期内容当中小编将会给大家带来有关在Java项目中使用枚举类型的方法有哪些,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。 Java枚举类型enum一、 通常定义常量方法我们通常利用public fin
2023-05-31

SAP行项目有哪些类别

这篇文章主要讲解了“SAP行项目有哪些类别”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“SAP行项目有哪些类别”吧!一,SAP SD 模块里Item Category简介SAP系统提供了不同
2023-06-05

hashCode在Java项目中的作用有哪些

本篇文章为大家展示了hashCode在Java项目中的作用有哪些,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。详解Java中hashCode的作用以下是关于HashCode的官方文档定义:hashc
2023-05-31

mvc在Java项目中的作用有哪些

这期内容当中小编将会给大家带来有关mvc在Java项目中的作用有哪些 ,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。MVC全名是Model View Controller,是模型(model)-视图(vi
2023-05-31

Spring Cloud相关项目有哪些

小编给大家分享一下Spring Cloud相关项目有哪些,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!Spring Cloud Config配置管理工具包,让你可
2023-06-05

信息系统项目管理师题目类型有哪些?

  信息系统项目管理师题目类型有哪些?信息系统项目管理师有三个考试科目,那么有哪些考试题型呢?今天编程学习网小编来为大家解答。  信息系统项目管理师包含综合知识、案例分析以及论文三个考试科目,各科目考试题目类型也不相同。信息系统项目管理师上午考试为综合知识,考试题型为客观选择题;下午考试为案例分析,考试题型为问答题;论文则
信息系统项目管理师题目类型有哪些?
2024-04-18

Spring Aop在JAVA项目中的作用有哪些

本篇文章给大家分享的是有关Spring Aop在JAVA项目中的作用有哪些,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。假如没有aop,在做日志处理的时候,我们会在每个方法中添
2023-05-31

Java项目中API的使用技巧有哪些

Java项目中API的使用技巧有哪些?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。1. 不要自己去实现安全框架说真的,不要尝试自己去实现安全方面的代码,这太难了。几乎每个人
2023-05-31

Java项目中多线程的作用有哪些

这期内容当中小编将会给大家带来有关Java项目中多线程的作用有哪些,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。1.创建线程在Java中创建线程有两种方法:使用Thread类和使用Runnable接口。在
2023-05-31

云服务器项目有哪些类型的

云服务器是一种虚拟化软件,允许企业将计算资源分配给多个云计算服务提供商,以便他们可以在多个地方访问相同的存储和计算资源。云服务器可以根据提供商的不同而不同,从私有云服务器到公共云服务器等。下面是云服务器的几种类型:私有云服务器:私有云服务器是由企业内部部署的一组服务器组成的。该云服务器通常位于企业内部的服务器集群中。这些服务器是专门设计来提供服务的,因此它们具有更好的安全性、更高的性能和可
2023-10-26

java项目中线程的生命周期有哪些

本篇文章为大家展示了java项目中线程的生命周期有哪些,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。一个线程的生命周期:新建状态: 使用 new 关键字和 Thread 类或其子类建立一个线程对象后
2023-05-31

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录