




已阅读5页,还剩23页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Java程序设计 第7章对象和类 学习目标 理解对象和类以及它们之间的关系掌握如何定义类并创建类的对象了解类和对象的UML表示理解构造函数的作用理解对象引用 掌握如何向方法传递对象引用掌握getter setter方法掌握this的含义和使用理解实例变量和方法 静态变量 常量和方法理解类中变量的作用域使用对象作为数组元素 面向对象的程序 C语言的面向过程的语言 面向过程的核心 数据结构算法数据加工Java语言是面向对象的语言 面对对象的核心 封装继承多态对象协作 类和对象 对象 object 表示现实世界中可以明确识别的实体 例如 学生 圆 按钮等 对象具有状态和行为 类 class 定义了同一类对象共有的属性和方法 类是对象的模板 蓝图 对象是类的实例 classCircle doubleradius 1 0 Circle radius 1 0 Circle doubler radius r doublefindArea returnradius radius 3 14159 示例 下面是一个圆类 数据字段 方法 构造函数 类和对象的UML表示 类的UML表示 类名 数据字段 方法 对象的UML表示 对象名 类名 数据字段值 构造函数 构造函数 构造函数 constructor 是一段初始化代码 用于创建对象 语法constructorDeclaration modifieroptclassName parameterList statementsopt 缺省构造函数如果类未定义任何类型的构造函数 编译器会自动提供一个不带参数的构造函数 如果已存在带参数的构造函数 则不会提供不带参数的构造函数 创建对象 使用new操作符创建对象 语法 newClassName actualParameterListopt 例如 newCircle 调用无参构造函数newCircle 5 调用带有一个参数的构造函数Java虚拟机为新创建的对象分配内存 并返回对象的引用 实例变量被赋予默认初值实例变量显式初始化返回对象引用 引用变量 对象通过引用变量 referencevariable 进行访问 引用变量中存储的是对象的引用 reference 声明引用变量ClassNameobjectRefVar 例如 CirclemyCircle 引用变量赋值objectRefVar newClassName 例如 myCircle newCircle 在一条语句中声明变量和创建对象 合并为一句ClassNameobjectReference newClassName 例如 CirclemyCircle newCircle 1 声明一个引用变量 变量类型为Circle 变量名为myCircle 2 创建对象 返回对象的引用 3 将对象的引用赋值给变量myCircle 访问对象的实例变量和实例方法 访问对象的实例变量objectRefVar data例如 myCircle radius访问对象的radius数据字段调用对象的实例方法objectRefVar method arguments 例如 myCircle findArea 调用对象的findArea方法 例声明类并创建对象 编写程序 定义Circle类 创建Circle对象 创建一个半径为5的圆 创建一个半径为1的圆 显示两个圆的半径和面积 将第二个圆的半径改为100 显示其半径和面积 Example v1 TestCircle java v1 Circle java 基本类型变量和引用类型变量的区别 变量表示存储数据的内存单元 基本类型变量存储的是基本类型的值 引用类型变量存储的是对象的引用 当变量未引用任何对象时 它是值为null 赋值的区别 当进行变量赋值时基本类型变量赋值时 变量的实际值赋值给另一个变量 引用类型变量赋值时 对象的引用赋值给另一个变量 不再被引用的对象 将被运行时系统自动回收 例使用Java类库中的类 使用javax swing程序包中的JFrame类创建两个窗体 设置窗体的标题 大小和位置 并显示 Example TestFrame java 类成员访问控制符 类中代码可以访问自身的所有成员 其它类中的代码访问成员 受访问控制符的限制 private只能当前类自身可以访问 package无访问修饰符的成员 只有相同包中的代码可以访问 protected子类 同一包中的类可以访问 public所有其它类都可以访问 访问控制是在类的层次上进行的 而不是在每个对象上 Getter和Setter方法 通常为私有 private 成员变量提供Getter和Setter方法 如果成员变量为DateTypepropertyNameGetter方法用于获取成员变量的值签名 publicDateTypegetPropertyName Setter方法用于设置成员变量的值签名 publicvoidsetPropertyName DateTypevalue Example v2 TestCircle java v2 Circle java 将对象传递给方法 与传递数组一样 传递对象实际是传递对象的引用 基本数据类型传递的是实际值的拷贝 修改形参 不影响实参 引用类型变量传递的是对象的引用 通过形参修改对象 将改变实参引用的对象 Example v2 TestPassObject java 实例变量与静态变量 实例变量 instancevariable 未用static修饰的成员变量 属于类的具体实例 对象 只能通过引用变量访问 静态变量 staticvariable 是用static修饰的变量 在一个类的所有实例间共享 也称类变量 静态变量可以通过类名访问 静态常量 静态常量是用staticfinal修饰的变量 例如 Math类中的常量PI定义为 publicstaticfinaldoublePI 3 14159265358979323846 静态方法 静态方法 staticmethod 是用static修饰的方法 例如 mainJOptionPane showMessageDialogJOptionPane showInputDialogMath random静态方法可以通过类名调用 静态方法只能访问类的静态成员 不能访问类中的实例成员 例使用实例 静态的变量和方法 为v2 Circle添加一个静态变量 保存创建Circle对象的数量 在main方法中创建circle1和circle2两个对象 修改实例和静态变量 并查看修改的结果 Example v3 TestCircle java v3 Circle java 变量的作用域 成员变量 实例变量和静态变量 的作用域是整个类 与声明的位置无关 如果一个变量的初始化依赖于另一个变量 则另一个变量必须在前面声明例如 publicclassFoo inti intj i 1 如果一个局部变量具有与类中的变量相同的名称 那么局部变量优先 成员变量被隐藏 Example TestScope java this关键字 this表示当前对象在实例方法中 实例变量被局部变量或方法参数隐藏 可以通过this instanceVariable访问实例变量 调用当前类的其它构造函数 this actualParameterListopt 必须是构造函数的第1条语句 Example v4 TestCircle java v4 Circle java 对象数组 与基本数据类型一样 可以声明并创建对象数组 当创建对象数组时 数组元素的缺省初值为null Circle circleArray newCircle 10 for inti 0 i circleArray length i circleArray i newCircle Circle对象0 Circle对象1 Circle对象9 例汇总圆的面积 编写程序 将一个Circle数组的面积相加 程序创建由10个Circle对象组成的数组然后以随机数初始化圆的半径显示数组中所有圆的总面积 Example v4 TotalArea java 例使用Loan类 编写程序 实现一个下面的类并测试 年利率 缺省值为2 5 贷款年数 缺省值为1 贷款金额 缺省值为1000 贷款日期 构建缺省的Loan对象 使用给定的值 构建Loan对象 获取年利率 获
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 离婚协议书模板:结合遗产规划与家族企业传承
- 离婚协议书关于房产分割及还款责任约定
- 班组级安全培训重点内容课件
- 2025年急救医学AED操作技能竞赛答案及解析
- 交通银行2025随州市秋招无领导小组面试案例题库
- 中国银行2025半结构化面试15问及话术山西地区
- 邮储银行2025延边朝鲜族自治州半结构化面试15问及话术
- 2025行业消费者洞察研究
- 交通银行2025驻马店市秋招笔试价值观测评题专练及答案
- 邮储银行2025汕尾市小语种岗笔试题及答案
- 黄石二中高一年级10月月考英语试卷含答案
- 第二章-食品标准化与标准的制定和编写课件
- 《陆上风电场工程设计概算编制规定及费用标准》(NB-T 31011-2019)
- SJ-T 11805-2022 人工智能从业人员能力要求
- 高职大学生心理健康教育 第四版 课件 第二单元 完善自我意识
- 电机与拖动(高职)全套教学课件
- 建筑质量事故分析全套教学课件
- 急诊科护士的突发事件应急处置
- 屋檐下的腊八粥
- 妇产科母乳喂养质量持续改进QCC品管圈PDCA案4例
- 固定管板式换热器检修要点
评论
0/150
提交评论