java 面向对象基础 UML图 构造方法 对象 参数传值 关联关系 依赖关系
来源:互联网 发布:淘宝衣服评价语 编辑:程序博客网 时间:2024/04/30 08:26
UML图
UML(Unified Modeling Language Diagram,UML),它是一个结构图,用来描述一个系统的静态结构。一个UML中通常包含类(class)的UML图,接口(Interface)的UML图以及泛化关系(Generalizaiton)的UML图、关联关系(Association)的UML图、依赖关系(Dependency)的UML图和实现关系(Realization)的UML图。
第一层是名字层,如果类的名字是常规字形,表明该类是具体类,
如果类的名字是斜体字形,表明该类是抽象类(后续会讲到抽象类)。
第二层是变量层,也称属性层,列出类的成员变量及类型。格式是“变量名:类型”。
第三层是方法层,列出类中的方法。格式是“方法名字:类型”。
构造方法
构造方法用于对对象中的所有成员变量进行初始化。
构造方法是一种特殊的方法,它的名字必须与它所在类的名字完全相同,并且没有返回值,也不需要使用关键字void进行标识。
public class Apple {
public Apple() { // 构造方法
}
}
构造方法用于对对象中的所有成员变量进行初始化,在创建对象时立即被调用。
对象
对象是对类的一个具体描述,是一个客观存在的实体。万物皆对象,也就是说任何事物都可看做对象,如一个人、一个动物,或者没有生命体的轮船、汽车、飞机,甚至概念性的抽象,如公司业绩等等。
对象的创建
对象的声明
声明对象的一般格式如下:
类名 对象名;
类名:必选,用于指定一个已经定义的类。
对象名:必选,用于指定对象名称,对象名必须是合法的Java标识符。
声明Apple类的一个对象redApple的代码如下:
Apple redApple;
实例化对象
在声明对象时,只是在内存中为其建立一个引用,并置初值为null,表示不指向任何内存空间。
声明对象以后,需要为对象分配内存,这个过程也称为实例化对象。在Java中使用关键字new来实例化对象,具体语法格式如下:
对象名=new 构造方法名([参数列表]);
对象名:必选,用于指定已经声明的对象名。
类名:必选,用于指定构造方法名,即类名,因为构造方法与类名相同。
参数列表:可选参数,用于指定构造方法的入口参数。如果构造方法无参数,则可以省略。
在声明Apple类的一个对象redApple后,可以通过以下代码为对象redApple分配内存(即创建该对象):
redApple=new Apple();//由于Apple类的构造方法无入口参数,所以省略了参数列表
在声明对象时,也可以直接实例化该对象:
Apple redApple=new Apple();
对象的使用
通过使用运算符“.”实现对成员变量的访问和成员方法的调用。
语法格式为:
对象.成员变量
对象.成员方法()
对象的销毁
在Java中则不需要手动完成这项工作。
Java提供的垃圾回收机制可以自动判断对象是否还在使用,并能够自动销毁不再使用的对象,收回对象所占用的资源。
类与程序的基本结构
一个Java应用程序是由若干个类组成,这些类可以在一个源文件中,也可以分布在若干个源文件中,如图所示。
在Java应用程序中有一个主类,即含有main方法的类,main方法是程序执行的入口,也就是说想要执行一个Java应用程序必须从main方法开始执行。在编写一个Java应用程序时,可以编写若干个Java源文件,每个源文件编译后产生若干个类的字节码文件。
当解释器运行一个Java应用程序时,Java虚拟机将Java应用程序的字节码文件加载到内存中,然后再由Java的虚拟机解释执行。
Java程序以类为“基本单位”,从编译的角度看,每个源文件都是一个独立编译单位,当程序需要修改某个类时,只需要重新编译该类所在的源文件即可,不必重新编译其他类所在的源文件,这样非常有利系统的维护。从软件设计角度看,Java语言中的类是可复用的,编写具有一定功能的可复用代码在软件设计中非常重要。
参数传值
在Java程序中,如果声明方法时包含了形参声明,则调用方法时必须给这些形参指定参数值,调用方法时实际传递给形参的参数值被称为实参。
传值机制
Java方法中的参数传递方式只有一种,也就是值传递。
对于基本数据类型的参数,向该参数传递值的级别不能高于该参数的级别,比如,不能想int型参数传递一个float值,但可以向double型参数传递一个float值。
当参数是引用类型时,传递的值是变量中存放的“引用”,而不是变量所引用的实体。当两个相同类型的引用型变量,如果具有同样的引用,就会用同样的实体,因此,如果该表参数变量所引用的实体,就会导致原变量的实体发生同样的变化;
类的关联关系和依赖关系的UML图
如果A类中成员变量是用B类声明的对象,那么A和B的关联是关联关系,称A类的对象关联于B类的对象或A类的对象组合了B类的对象。
如果A关联于B,那么UML图通过一条实线连接A和B的UML图,实线的起始端是A的UML图,终点端是B的UML图,但终点端使用一个指向B的UML图的方向箭头表示实线的结束。
依赖关系
如果A类中某个方法的参数是用B类声明的对象或某个方法返回的数据类型是B类对象,那么A和B的关系是依赖关系,称A依赖于B。如果A依赖于B,那么UML通过使用一个虚线连A和B的UML图,虚线的起始端是A的UML图,终点端是B的UML图,但终点端使用一个指向B的UML图的方向箭头表示虚线的结束。
- java 面向对象基础 UML图 构造方法 对象 参数传值 关联关系 依赖关系
- 面向对象中的关联关系和UML表示方法
- 面向对象 依赖 关联 聚合 组合 关系
- 面向对象 依赖 关联 聚合 组合 关系
- UML 基本图速查---类图. 对象图. 用例图 .参与者. 依赖关系. 泛化继承关系. 关联.....
- java基础:面向对象(继承中构造方法的关系)
- UML 类图. 对象图. 接口图. 用例图 .包,参与者. 依赖关系. 泛化/继承关系. 关联关系 .聚合/聚集关系. 实现关系 组合关系。
- 面向对象--依赖、关联、聚合、组合的关系
- 面向对象--UML关系分类
- 面向对象之关系依赖
- java对象间的关系(依赖,关联,组合,聚合)
- java对象间的关系(依赖,关联,组合,聚合)
- UML常见关系图,依赖、关联等
- 对象关系【继承】【依赖】【关联】【聚合】【组合】
- java面向对象的各种关系总结(UML)
- 面向对象设计对象之间关系---依赖、关联、聚合和组合
- 面向对象_继承中构造方法的关系
- 面向对象UML中类关系
- 因为类中写静态成员而得到的一点感悟
- C++中对路径字符串解析的两个重要函数
- C++第四次上机实验-项目2
- 电子老鼠闯迷宫
- java检测乱码原编码
- java 面向对象基础 UML图 构造方法 对象 参数传值 关联关系 依赖关系
- getopt的用法与optarg
- Linux的网卡由eth0变成了eth1,如何修复
- Bestcoder Pro.ID 2002 计算球体积
- Android 用service实现不依赖activity的版本更新功能
- Asp.net读取和写入txt文件方法
- EditText设置输入的类型,比如说限制只能输入字母和数字
- 凭证处理被批次处理冻结
- iOS 自定义常见第三方分享