- 1、本文档共111页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
4.1 类与对象的概念 4.2 类的定义 4.3 对象 4.4 成员变量 4.5 成员方法 4.6 类的组织方式——包 4.7 访问权限 4.8 内部类 4.9 可变参数 4.1 类与对象的概念 现实世界中的任何事物都是对象。 所有的事物都有它的属性和行为。 属性表示事物的静态特征,在某个时刻各个属性的取值反映事物的状态; 行为表示事物的动态特征,一个行为可能会影响或改变事物的状态。 人们通过属性和行为来区分事物。 类与对象的关系 在计算机世界中,类是人脑概念世界的软件模型,由变量和方法组成,它定义了对象的本质属性和共同行为,是创造对象的“模板”。 对象是对现实世界中实体的描述,是现实世界中事物的软件模型,由数据(变量值)和方法组成。并且通过对类的实例化产生对象,进而引用对象。 简而言之,类是对象的模板,对象是类的实例。 4.2 类的定义 4.2.1 类定义的基本形式 4.2.2 类定义的一般形式 4.2.1 类定义的基本形式 定义的基本形式是: class 类名 { 成员变量; 成员方法; } 【例4-1】定义一个表示圆的类 class Circle { // 成员变量:圆的半径 double radius; // 成员方法:计算圆的面积 double getArea(){ return radius*radius*Math.PI; } // 成员方法:计算圆的周长 double getPerimeter(){ return 2*radius*Math.PI; } } 【模仿例4-1】定义矩形类、三角形类、梯形类。 【例4-2】在Java语言中,定义人类。 编程思路: 首先,将现实世界中各种人抽象成人脑概念世界中的概念“人”。 它包括属性: 姓名(name)、 性别(sex)、 年龄(age)等状态信息, 和行为: 直立行走(walk)、 会说话(speak)、 能劳动(work)等。 其次,在Java程序中,用变量表示状态信息,用方法表示行为。 【例4-3】定义职员类 编程思路: 首先,将现实世界中各种职员抽象成人脑概念世界中的概念“职员”。包括属性和行为。 其次,为了解决工资管理问题,性别、年龄、身高、体重等属性以及会说话、能劳动等行为,与工资管理关系不大,可被忽略。这样,就抽象成人脑概念世界中的概念“职工”,它包括工号(id)、姓名(name)、职务(post)、工资(salary)等属性,以及升职(changePost)、调资(changeSalary)、打印职工信息(print)等行为。 。 4.2.2 类定义的一般形式 类的定义格式: 类修饰符class 类名称 [extends 父类名称] [implements 接口名称列表] { 成员变量的定义及初始化 成员方法的定义及初始化 } 4.3 对象 4.3.1 对象的声明 4.3.2 对象的创建与初始化 4.3.3 对象的引用和清除 4.3.1 对象的声明 对象声明的格式: 类名 对象变量名; 其中,类名为引用类型(包括类、接口和数组)。声明不为对象分配空间,只为引用型变量分配一个空间,用来存放引用值。 例如下列语句: Humankind zhangSan,liSi; Humankind是已经定义的类,是类型。 zhangSan,liSi为引用变量。 引用类型变量存储一个对象的引用值,不是对象本身。 4.3.1 对象的声明(续) 熟悉C语言的同学,可进行如下类比。在C语言中定义 int *p; // p是一个指针变量,它存放某个整型变量的地址,不存放某个整型值。 struct Node { int data; struct Node *next; } *p; // p是一个指针变量,它存放Node结构体类型的某个变量地址,不存放Node结构体类型某个变量的值。 在Java中,引用型变量就相当于指针变量,引用值就相当于变量地址,对象就相当于Node
文档评论(0)