




已阅读5页,还剩16页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第四章 类和对象 学习目标 熟悉类和对象的概念,熟练创建自己的 类。 能够在设计自己的类的时候,充分体现 面向对象的三大特性之一的封装。 了解static关键字的含义及用法。 了解final关键字的含义及用法。 清楚Java中对象间参数传递的方式。 范例导入 面向对象的程序设计和面向过程的程序 设计在设计思想上相差很大,两者间思路 转变并不容易。但要想在Java上更进一步 ,我们就必须熟悉对象以及类的概念。 类和对象的概念 Java中除了四类八种基本数据类型外,还 有一种复合数据类型,我们称这种复合数 据类型为“类”。 区分:系统提供的类、用户自定义类。 类是由对象抽象出来的数据模板。 在Java的世界里,万事万物都是对象。 类的声明 成员变量的声明 成员变量主要用于模拟现实世界中对象的属性。 语法:修饰符 变量类型 变量名 =值; 变量类型可以是基本数据类型,也可以是任何 一种引用类型。 注意:成员变量是全局变量,都会有默认的初 值。 构造方法的声明 构造方法的定义:方法名与类名要一致(防止与类 中的其他方法同名,并让编译器确保初始化的进行) ,且无返回值类型的修饰的方法叫构造方法。 语法:修饰符 类名(参数列表) throws 异常列表 this关键字 this引用的是当前对象。 用法1:用“.”操作符引用当前对象成员。 用法2:引用本类构造方法。 练习:为Person类增加“姓名、年龄”2个成员变 量,并增加4个构造方法。 public class Person String name; int age; / 重载 重载-Overloading,是Java实现静态多态的一 种方式,这种方式就是“一个接口,多个方法”。 当调用被重载的方法时,Java会在调用方法的实 参和方法定义的形参之间做匹配,而这个匹配不 需要总是精确的,在某些情况下,Java的自动类 型转换可以在重载时确定调用哪个方法。 成员方法声明 成员方法主要用于模拟现实世界中对象的行为。 语法:修饰符 返回值类型 方法名( 参数列表)throws 异常类型列表 方法体; 练习:为Person类定义衣、食、住、行四个方 法模拟人的行为。 主方法声明 主方法代表一个程序的入口点,一个软件系统 通常只存在一个主方法。我们在设计每个类时虽 然都可以定义主方法,但不建议大家这么做,应 该在工厂类中生成对象,或者是测试阶段定义主 方法,但是测试后应把主方法注释掉。 语法:public static void main(String args) 可变长度的参数 可变长度参数就是指在方法的参数体中,只要 定义恰当,我们可以使用任意数量的参数,类似 于使用数组。在jdk5 中,一个新的语法被引入, 就是在参数类型名称后面加上“.”,表示该方法 可以接受0个或多个该类型的参数。(不建议使 用) 例如:public void out(int numericArgs) 封装 封装,简单的说就是“信息隐蔽”,即使用方法 将类的数据隐藏起来,控制用户对类的修改和访 问数据的程度。对外界来说,只需要关心类有哪 些接口,能实现什么功能,而不需要知道类是怎 么实现这些功能的。 练习:为Person类实现封装(两个成员变量 name和age)。 对象的使用-1 在Java中,创建对象经常是使用new关键字。 比如:创建一个“人”这个类的对象,代码如下。 Person p = new Person(); 其中:Person p 声明一个Person类的对象。 new 使用new关键字在内存中开辟空间。 Person() 调用相应的构造方法。 对象的使用-2 在Java中,我们通过“.”操作符来访问访问对象 的成员属性和成员方法。注意,对于本类的成员 ,在访问时直接用“.”操作符即可,但在其它类中 访问时需要有相应的访问权限。如下所示。 Person p = new Person(“wang “,20); p.clothing(); 对象的使用-3 对象的清除实际上就是将对象占用的内存空间 释放出来。在C/C+中,这个工作需要程序员手 工完成(调用析构函数),这样做会给程序员带 来很多不便,特别是当程序员忘记对无用对象调 用析构函数后,可能会造成系统内存溢出,我们 称这种现象为“内存渗漏”。 在Java中,对这种无用内存空间的释放由系统 自动完成,我们称之为垃圾回收(GC, garbage collector)。 static关键字 修饰变量 - 静态变量 修饰方法 - 静态方法 在类体中直接使用 - 静态块 另外,static还可以修饰类,但这种用法只能 用于内部类,关于内部 类我们将在后续章节中 讲到。 关键字static做为修饰符可以出现在三个位置: final关键字 修饰变量 - 常量 修饰方法 - 最终方法 修饰类 - 最终类 关键字final做为修饰符可以出现在三个位置: 消息传递参数传递 在Java中主要有两种参数传递的方式: 1、值传递:基本数据类型是值传递。把实参 的“值”复制给形参,那么在方法内对形参所做的 改变对实参没有影响。传递参数时,如果找不到 对应的方法,基本类型可以自动由较小类型晋升 至较大类型,继续匹配。 2、引用传递:当向方法传递一个对象时,是 按对象的引用传递的。因此,当把这个引用传递 给一个方法时,接收它的形参将引用与实参相同 的对象,对方法内的对象的改变会影响被用做实 参的对象。 小结 本单元详细讲述了类和对象的相关概念,以 及static、final
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025版钻孔施工合同合同终止条件范本
- 2025年版包装设计制作合同范本模板
- 2025版影视作品播放使用权转让合同规范
- 2025年度水利工程土石方工程发包运输全面服务管理合同
- 2025年度企业招聘与配置策略顾问聘请服务合同
- 2025版在线教育平台第三方代付课程费用合同
- 2025年度智能家居配件采购与系统集成合同
- 2025版全新医药企业并购保密协议范本下载
- 2025年承包田地农业资源保护与利用合同
- 2025年艺术品展览档口租赁与艺术品交易合同
- 学校食堂从业人员食品安全知识培训考试试题(含答案)
- 电影艺术概述-设计艺术-人文社科-专业资料
- 2025年教科版新教材科学三年级上册全册教案设计(含教学计划)
- 医院药品采购与质量控制规范
- 支部纪检委员课件
- 从+“心”+出发遇见更好的自己-开学第一课暨心理健康教育主题班会-2025-2026学年高中主题班会
- 2025版仓储库房租赁合同范本(含合同生效条件)
- 2025年人伤保险理赔试题及答案
- 2025年全国招标采购专业技能大赛(央企组)历年参考题库含答案详解(5卷)
- 2025年苏教版新教材数学二年级上册教学计划(含进度表)
- 美林时钟的自我救赎
评论
0/150
提交评论