请注意,这篇博客描述的是统一建模语言UML用于描述模型时的内部关系,常见的Java的类图只是其中一个具体的实现。...模型内部组件关系类型 泛化(generalization) 关联(association) 依赖(dependency) 实现(realization) 聚合(aggregation)
作者:A哥(YourBatman) 目录 前言 正文 静态内部类 vs 内部类 静态方法 vs 非静态方法 匿名内部类 内部类和静态内部类的区别 静态类 和普通内部类的区别 内部类的面试题 总结 前言...静态内部类适用于不依赖于外部类,不用使用外在类的非静态属性和方法,只是为了方便管理类结构而定义。在创建静态内部类的时候,不需要外部类对象的引用。...通常通用的类中一些常用的方法可以设计为静态的 只要是没有用到类的状态信息,只从参数获取信息的都可以为静态的 静态方法可以实现某些特殊的设计模式:如Singleton 由于没有this指针,可以把某些系统...内部类和静态内部类的区别 静态类 只能在内部类中定义静态类 静态内部类不依赖于外部类,即使外部类没有创建对象,静态类也可以new对象 静态类的方法可以是静态的方法也可以是非静态的方法,静态的方法可以在外层通过静态类调用...静态类只能引用外部类的static成员变量(变量或者方法)(也就是类变量)。 如果一个内部类不是被定义成静态内部类,那么在定义成员变量或者成员方法的时候,是不能够被定义成静态的。
静态内部类适用于不依赖于外部类,不用使用外在类的非静态属性和方法,只是为了方便管理类结构而定义。在创建静态内部类的时候,不需要外部类对象的引用。...非静态内部类有一个很大的优点:可以自由使用外部类的所有变量和方法,对其外部类有个引用 有了这两个区别,各位看官应该知道什么时候使用什么样的类了吧 下面是静态方法和非静态方法的区别: 静态方法(Static...通常通用的类中一些常用的方法可以设计为静态的 只要是没有用到类的状态信息,只从参数获取信息的都可以为静态的 静态方法可以实现某些特殊的设计模式:如Singleton 由于没有this指针,可以把某些系统...3、使用场景 内部类和静态内部类的区别 静态类 只能在内部类中定义静态类 静态内部类不依赖于外部类,即使外部类没有创建对象,静态类也可以new对象 静态类的方法可以是静态的方法也可以是非静态的方法,静态的方法可以在外层通过静态类调用...静态类只能引用外部类的static成员变量(变量或者方法)(也就是类变量)。 如果一个内部类不是被定义成静态内部类,那么在定义成员变量或者成员方法的时候,是不能够被定义成静态的。
同时,方法中,需要使用 return关键字来返回指定类型的变量或常量:“return 数据”。 如果方法没有返回值,则方法声明时,使用void来表示。...通常,没有返回值的方 法中,就不需要使用return.但是,如果使用的话,只能“return;”表示结束此方法的意思。 3.2.2 我们定义方法该不该有返回值?...(6)类内可以定义属性、方法、构造器等 可以被final修饰,表示此类不能被继承。...如果其他的类要访问静态内部类的属性或者调用静态内部类的方法,直接创建一个静态内部类对象即可。...在Java中,可以将一个类定义在另一个类里面或者一个方法里边,这样的类称为内部类,广泛意义上的内部类一般包括四种:成员内部类,局部内部类,匿名内部类,静态内部类 。
这篇文章我们主要介绍Java基础中的Object类、匿名内部类、构造方法的继承知识,一起来学习下吧! 一、Object类 1.Object类是所有类的父类,所有类都继承Object类。...wait()方法表示一直等待,一直到得到锁或被中断。wait(long timeout)设定一个超时间隔,如果在规定时间内没有获得锁就返回。 clone()方法:保护方法,实现对象的浅复制。...二、匿名内部类 1.什么是匿名内部类 匿名内部类简单来说就是不知道这个类的名字。创建匿名内部类,只要调用一次就可以了。...四、总结 本文主要介绍了Object类、匿名内部类、构造方法的继承。 Object类是所有类的父类,所有类都继承Object类。...介绍了Object类的一些方法,通过Object类例子和重写Object类toString()方法例子帮助理解用法。 匿名内部类简单来说就是不知道这个类的名字。创建匿名内部类,只要调用一次就可以了。
基础 如先前所提到的,类图的目的是显示建模系统的类型。在大多数的 UML 模型中这些类型包括: 类 接口 数据类型 组件 UML 为这些类型起了一个特别的名字:“分类器”。...这表示,BankAccount 类是一个抽象类,而withdrawal方法是抽象的操作。...软件包使建模者能够组织模型分类器到名字空间中,这有些象文件系统中的文件夹。把一个系统分为多个软件包使系统变成容易理解,尤其是在每个软件包都表现系统的一个特定部分时。3 在图中存在两种方法表示软件包。...图 18:一个类图显示图14中扮演不同角色的类 注意,你不能在纯粹类图中做类角色的建模,即使图 18显示你可以这么做。为了使用角色记号,你将会需要使用下面讨论的内部结构记号。...内部的结构 UML 2 结构图的更有用的功能之一是新的内部结构记号。它允许你显示一个类或另外的一个分类器如何在内部构成。
下面我们讨论如何画这 7 种模型图,以及如何在需求分析、概要设计、详细设计三个阶段使用这 7 种模型输出合适的设计文档。类图 类图是最常见的 UML 图形,用来描述类的特性和类之间的静态关系。...一个类包含三个部分:类的名字、类的属性列表和类的方法列表。类之间有 6 种静态关系:关联、依赖、组合、聚合、继承、泛化。...流程图也比较有普适性,可以在需求分析阶段描述业务流程,也可以在概要设计阶段描述子系统和组件的交互,还可以在详细设计阶段描述一个类方法内部的计算流程。...但难的是如何在合适的场合下用正确的 UML 模型表达自己的设计意图,形成一套完整的软件模型,进而组织成一个言之有物,层次分明,既可以指导开发,又可以在团队内外达成共识的设计文档。...在详细设计阶段,主要输出的就是类图和类的时序图,指导最终的代码开发,如果某个方法内部有比较复杂的逻辑,那么可以用画方法的活动图进行描述。
目录 1、UML 定义 2、类图中每个类的构成 3、UML类图中箭头的含义 3.1、实线空心箭头 3.2、虚线空心三角箭头 3.3、 实线箭头 3.4、虚线箭头 3.5、尾部为空心菱形箭头 (也可没箭头...让我们使用顺序图来显示 Car 对象和 Vehicle 对象如何在继承和多态示例中进行交互,如图 1-2 所示: 图1-2 2、类图中每个类的构成 类图中,每个类由 3 个部分组成,上面的是类名,中间的是属性...属性和方法可以用修饰符修饰: 加号(+)表示public; 减号(-)表示private; 井号(#)表示protected 3、UML类图中箭头的含义 3.1、实线空心箭头 含义: 泛化=继承...java中,方法参数需要传入另一个类的对象,就表示依赖这个类。...如图中所示A类中的方法参数需要传入B类的对象 3.5、尾部为空心菱形箭头 (也可没箭头) 含义: 聚合 上图中的Car类与Engine类就是聚合关系(Car类中包含一个Engine类型的成员变量)。
安装PowerDesigner 16软件,由此进入UML类图绘制; 1 、类图概述 类图(Class diagram)是显示了模型的静态结构,特别是模型中存在的类、类的内部结构以及它们与其他类的关系等...3 、类图表示法 3.1 类的表示方式 在UML类图中,类使用包含类名、属性(field) 和方法(method) 且带有分割线的矩形来表示,比如下图表示一个student类,它包含sid,sname和...属性/方法名称前加的加号和减号表示了这个属性/方法的可见性,UML类图中表示可见性的符号有三种: +:表示public -:表示private #:表示protected 属性的完整表示方式是...3.2 类与类之间关系的表示方式 3.2.1 关联关系 关联关系是对象之间的一种引用关系,用于表示一类对象与另一类对象之间的联系,如老师和学生、师傅和徒弟、丈夫和妻子等。...在 UML 类图中,依赖关系使用带箭头的虚线来表示,箭头从使用类指向被依赖的类。
(如果项目需要一直维护更新,时间长了,没有文档,一定会导致项目又烂又臭) 2.2 类图表示法 在UML类图中,类使用包含类名、属性(field) 和方法(method) 且带有分割线的矩形来表示,比如下图表示一个...属性/方法名称前加的加号和减号表示了这个属性/方法的可见性,UML类图中表示可见性的符号有三种: +:表示public -:表示private #:表示protected 属性的完整表示方式是:可见性...2.3 类与类之间关系的表示方式 2.3.1 关联关系 关联关系是对象之间的一种引用关系,用于表示一类对象与另一类对象之间的联系,如老师和学生、师傅和徒弟、丈夫和妻子等。...在 UML 类图中,组合关系用带实心菱形的实线来表示,菱形指向整体。...在 UML 类图中,依赖关系使用带箭头的虚线来表示,箭头从使用类指向被依赖的类。
一般在Eclipse右侧有一个Outline的大纲,可以显示一个类的所有方法(如下图) ? 在intellij Idea中叫Structure(结构体),如下图; ?
4.DFD(Data Flow Diagram)图 DFD图是从数据传递和加工角度,以图形方式来表达系统的逻辑功能、数据在系统内部的逻辑流向和逻辑变换过程,是结构化系统分析方法的主要表达工具及用于表示软件模型的一种图示方法...6.UML类图 UML类图是UML交互图中的一种,也是我们较常见的一种。类图是描述系统中的类,以及各个类之间的关系的静态视图。它不但是设计人员关心的核心,更是实现人员关注的核心。 ...8.E-R图 E-R图提供了表示实体型(Entity)、属性(Attribute)和联系(Relationship)的方法。其中最核心的还属联系(Relationship)的表示。 ...适用场景:虽然在UML类图中,也可以体现出聚合、依赖等关系。但是如果相关联的模型数量巨大的话,你会发现看起来特别费劲,要缩的很小才能看清全貌。这时候你需要E-R图出场了。 ...缺点:相对类图来说,E-R图无法定义类/实体的行为。它更面向数据库而不是代码。 9.UML时序图 时序图也是UML交互图中的一种,是描述对象是如何交互的,并且将重点放在消息序列上。
引言 在正式介绍设计模式之前,我们有必要学习一下UML类图,因为我们需要一种直观的表示方法来描述设计模式,这种方法即是UML类图。...UML类图是用户将所希望描述的事物抽象为类,描述类的内部结构和类之间关系的设计视图。...UML类图常用关系 在UML类图中,常有以下几种关系:泛化(Generalization)、实现(Realization)、关联(Association)、聚合(Aggregation)、组合(Composition...模型元素(Model Element):指UML图中使用的一些概念,如类、对象、消息,以及概念之间的关系,如关联关系、以来关系等。...02 UML类的表示 如图,类由一个矩形框表示,矩形框分为3层: 第一层:类的名称;如果该类是抽象类,则使用斜体; 第二层:类的属性,即成员变量,[可见性]名称:类型[=默认值]; 第三层:类的方法,
在UML中,组合关系用带实心菱形的直线表示 例如:HashSet及其内部的 HashMap,HashMap是HashSet的组成部分之一,而且如果HashSet没了,HashMap也就没了,因此他俩是组合关系...在UML类图中,用实线连接有关联关系的对象所对应的类 在使用Java实现关联关系时,通常将一个类的对象作为另一个类的成员变量 在使用类图表示关联关系时可以在关联线上标注角色名,一般使用一个表示两者之间关系的动词或者名词表示角色名...,如Java,在接口中,通常没有属性,而且所有的操作都是抽象的,只有操作的声明,没有操作的实现 UML中用与类的表示法类似的方式表示接口 接口之间也可以有与类之间关系类似的继承关系和依赖关系,但是接口和类之间还存在一种实现...3.1 类的UML图示 在UML中,类使用包含类名、属性和操作且带有分隔线的长方形来表示 如定义一个Employee类,它包含属性name、age和email,以及操作modifyInfo() 对应的...(protected)三种,在类图中分别用符号+、-和#表示。
DFD图是从数据传递和加工角度,以图形方式来表达系统的逻辑功能、数据在系统内部的逻辑流向和逻辑变换过程,是结构化系统分析方法的主要表达工具及用于表示软件模型的一种图示方法。...UML类图是UML交互图中的一种,也是我们较常见的一种。类图是描述系统中的类,以及各个类之间的关系的静态视图。它不但是设计人员关心的核心,更是实现人员关注的核心。...E-R图提供了表示实体型(Entity)、属性(Attribute)和联系(Relationship)的方法。其中最核心的还属联系(Relationship)的表示。...适用场景:虽然在UML类图中,也可以体现出聚合、依赖等关系。但是如果相关联的模型数量巨大的话,你会发现看起来特别费劲,要缩的很小才能看清全貌。这时候你需要E-R图出场了。...缺点:相对类图来说,E-R图无法定义类/实体的行为。它更面向数据库而不是代码。 9.UML时序图 ? 时序图也是UML交互图中的一种,是描述对象是如何交互的,并且将重点放在消息序列上。
整合最佳的工作方法 (Best Practices)。 UML图有哪些? UML图分为结构图和行为图。 结构图分为类图、轮廓图、组件图、组合结构图、对象图、部署图、包图。...UML图概览 什么是类图? 【概念】 类图是一切面向对象方法的核心建模工具。类图描述了系统中对象的类型以及它们之间存在的各种静态关系。 【目的】用来表示类、接口以及它们之间的静态结构和关系。...在类图中,常见的有以下几种关系。 泛化(Generalization) 【泛化关系】是一种继承关系,表示子类继承父类的所有特征和行为。 【箭头指向】带三角箭头的实线,箭头指向父类。...中间的虚线箭头表示依赖关系。另外两个符号,表示组件连接器,一个提供接口,一个需要接口。 什么是部署图? 【概念】描述了系统内部的软件如何分布在不同的节点上。...【目的】用来表示软件和硬件的映射关系。 图中简单的表示,不同机器上面部署的不同软件。 什么是对象图? 【概念】对象图是类图的一个实例,是系统在某个时间点的详细状态的快照。
DFD图是从数据传递和加工角度,以图形方式来表达系统的逻辑功能、数据在系统内部的逻辑流向和逻辑变换过程,是结构化系统分析方法的主要表达工具及用于表示软件模型的一种图示方法。 ...UML类图是UML交互图中的一种,也是我们较常见的一种。类图是描述系统中的类,以及各个类之间的关系的静态视图。它不但是设计人员关心的核心,更是实现人员关注的核心。 ...E-R图提供了表示实体型(Entity)、属性(Attribute)和联系(Relationship)的方法。其中最核心的还属联系(Relationship)的表示。 ...适用场景:虽然在UML类图中,也可以体现出聚合、依赖等关系。但是如果相关联的模型数量巨大的话,你会发现看起来特别费劲,要缩的很小才能看清全貌。这时候你需要E-R图出场了。 ...缺点:相对类图来说,E-R图无法定义类/实体的行为。它更面向数据库而不是代码。 9.UML时序图 ? 时序图也是UML交互图中的一种,是描述对象是如何交互的,并且将重点放在消息序列上。
在代码实现组合关系时,通常在整体类的构造方法中直接实例化成员类.比如说 LinkedHashMap 组合 HashMap 的能力,Set 组合 Map 的能力(HashSet 内部的 HashMap),...在UML类图中,用实线连接有关联关系的对象所对应的类 在使用Java实现关联关系时,通常将一个类的对象作为另一个类的成员变量 在使用类图表示关联关系时可以在关联线上标注角色名,一般使用一个表示两者之间关系的动词或者名词表示角色名...2.6 接口与实现关系 在很多面向对象语言中都引入了接口的概念,如Java,在接口中,通常没有属性,而且所有的操作都是抽象的,只有操作的声明,没有操作的实现 UML中用与类的表示法类似的方式表示接口...3.1 类的UML图示 在UML中,类使用包含类名、属性和操作且带有分隔线的长方形来表示 如定义一个Employee类,它包含属性name、age和email,以及操作modifyInfo() ?...(protected)三种,在类图中分别用符号+、-和#表示。
类的成员变量和方法前面的修饰符有public, private, protected, default,在UML类图中分别用 +, -, #, ~表示。 1....依赖关系 依赖关系是一种使用关系,表示某个类依赖于另外一个类,通常表现为,某个类的方法的参数使用了另外一个类的对象。 在UML类图中,依赖关系用带箭头的虚线表示,箭头从使用类指向被依赖的类。...下图中表示,程序员依赖于计算机来编写代码。 ? 2. 关联关系 关联关系是对象之间的一种引用关系,表示一个类和另外一个类之间的联系,如老师和学生,丈夫和妻子等。 关联关系有单向和双向的。...如老师是学校的一部分,同时老师也是独立的个体,可以单独存在。 在UML类图中,用带空心菱形的实线来表示聚合关系,菱形指向整体。 ? 4....在UML类图中,用带实心菱形的实线来表示组合关系,菱形指向整体。 ? 5. 实现关系 实现关系就是接口和实现类之间的关系。类实现了接口中的抽象方法。
整合最佳的工作方法 (Best Practices)。 UML图有哪些? UML图分为结构图和行为图。 结构图分为类图、轮廓图、组件图、组合结构图、对象图、部署图、包图。...UML图概览 ? 什么是类图? 【概念】 类图是一切面向对象方法的核心建模工具。类图描述了系统中对象的类型以及它们之间存在的各种静态关系。 【目的】用来表示类、接口以及它们之间的静态结构和关系。...❝在类图中,常见的有以下几种关系。 ❞ 泛化(Generalization) 【泛化关系】是一种继承关系,表示子类继承父类的所有特征和行为。 【箭头指向】带三角箭头的实线,箭头指向父类。 ?...关联(Association) 【关联关系】是一种拥有关系,它使得一个类知道另一个类的属性和方法。 【代码体现】成员变量 【箭头指向】带普通箭头的实线,指向被拥有者。...中间的虚线箭头表示依赖关系。另外两个符号,表示组件连接器,一个提供接口,一个需要接口。 ❞ 什么是部署图? 【概念】描述了系统内部的软件如何分布在不同的节点上。
领取专属 10元无门槛券
手把手带您无忧上云