




已阅读5页,还剩16页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
,第四章,类和对象,学习目标,熟悉类和对象的概念,熟练创建自己的类。能够在设计自己的类的时候,充分体现面向对象的三大特性之一的封装。了解static关键字的含义及用法。了解final关键字的含义及用法。清楚Java中对象间参数传递的方式。,范例导入,面向对象的程序设计和面向过程的程序设计在设计思想上相差很大,两者间思路转变并不容易。但要想在Java上更进一步,我们就必须熟悉对象以及类的概念。,类和对象的概念,Java中除了四类八种基本数据类型外,还有一种复合数据类型,我们称这种复合数据类型为“类”。区分:系统提供的类、用户自定义类。类是由对象抽象出来的数据模板。在Java的世界里,万事万物都是对象。,类的声明,成员变量的声明,成员变量主要用于模拟现实世界中对象的属性。语法:修饰符变量类型变量名=值;变量类型可以是基本数据类型,也可以是任何一种引用类型。注意:成员变量是全局变量,都会有默认的初值。,构造方法的声明,构造方法的定义:方法名与类名要一致(防止与类中的其他方法同名,并让编译器确保初始化的进行),且无返回值类型的修饰的方法叫构造方法。语法:修饰符类名(参数列表)throws异常列表,this关键字,this引用的是当前对象。用法1:用“.”操作符引用当前对象成员。用法2:引用本类构造方法。练习:为Person类增加“姓名、年龄”2个成员变量,并增加4个构造方法。publicclassPersonStringname;intage;/,重载,重载-Overloading,是Java实现静态多态的一种方式,这种方式就是“一个接口,多个方法”。当调用被重载的方法时,Java会在调用方法的实参和方法定义的形参之间做匹配,而这个匹配不需要总是精确的,在某些情况下,Java的自动类型转换可以在重载时确定调用哪个方法。,成员方法声明,成员方法主要用于模拟现实世界中对象的行为。语法:修饰符返回值类型方法名(参数列表)throws异常类型列表方法体;练习:为Person类定义衣、食、住、行四个方法模拟人的行为。,主方法声明,主方法代表一个程序的入口点,一个软件系统通常只存在一个主方法。我们在设计每个类时虽然都可以定义主方法,但不建议大家这么做,应该在工厂类中生成对象,或者是测试阶段定义主方法,但是测试后应把主方法注释掉。语法:publicstaticvoidmain(Stringargs),可变长度的参数,可变长度参数就是指在方法的参数体中,只要定义恰当,我们可以使用任意数量的参数,类似于使用数组。在jdk5中,一个新的语法被引入,就是在参数类型名称后面加上“.”,表示该方法可以接受0个或多个该类型的参数。(不建议使用)例如:publicvoidout(intnumericArgs),封装,封装,简单的说就是“信息隐蔽”,即使用方法将类的数据隐藏起来,控制用户对类的修改和访问数据的程度。对外界来说,只需要关心类有哪些接口,能实现什么功能,而不需要知道类是怎么实现这些功能的。练习:为Person类实现封装(两个成员变量name和age)。,对象的使用-1,在Java中,创建对象经常是使用new关键字。比如:创建一个“人”这个类的对象,代码如下。Personp=newPerson();其中:Personp声明一个Person类的对象。new使用new关键字在内存中开辟空间。Person()调用相应的构造方法。,对象的使用-2,在Java中,我们通过“.”操作符来访问访问对象的成员属性和成员方法。注意,对于本类的成员,在访问时直接用“.”操作符即可,但在其它类中访问时需要有相应的访问权限。如下所示。Personp=newPerson(wang,20);p.clothing();,对象的使用-3,对象的清除实际上就是将对象占用的内存空间释放出来。在C/C+中,这个工作需要程序员手工完成(调用析构函数),这样做会给程序员带来很多不便,特别是当程序员忘记对无用对象调用析构函数后,可能会造成系统内存溢出,我们称这种现象为“内存渗漏”。在Java中,对这种无用内存空间的释放由系统自动完成,我们称之为垃圾回收(GC,garbagecollector)。,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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 【正版授权】 ISO/TR 24935:2025 EN Road vehicles - Software update over the air using mobile cellular network
- 江苏苏州昆山部分学校2023~2024学年高二下册综合能力测评数学试题学生卷
- 植物固醇在健康脂肪摄入中的作用考核试卷
- 印刷设备操作安全操作规程实施效果评估考核试卷
- 民族音乐教学实践考核试卷
- 低温仓储生态设计理念探索考核试卷
- 仿古瓷器培训课件
- 2025年中国PVC密封胶条数据监测研究报告
- 2025年中国H型钢生产设备数据监测研究报告
- 2025年中国D-氨基葡萄盐酸盐数据监测报告
- 病理科生物安全培训
- 2025年立普妥行业深度研究分析报告-20241226-185650
- 家庭教育中的创客教育与孩子创新思维
- 葫芦丝社团活动总结3篇
- 固体废弃物课程设计 垃圾填埋场设计
- 光伏项目运维服务承包合同5篇
- 流产的中西医结合治疗
- 阵发性室上性心动过速 护理查房
- 湖南省永州市2023-2024学年高一下学期7月期末质量监测数学试卷
- 五育并举-立德树人始于行润品育心成于思
- 安全策略优化
评论
0/150
提交评论