ava类与对象一.ppt_第1页
ava类与对象一.ppt_第2页
ava类与对象一.ppt_第3页
ava类与对象一.ppt_第4页
ava类与对象一.ppt_第5页
已阅读5页,还剩23页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第2章类与对象 一 回顾 if else条件分支语句switch case开关语句循环结构之while语句循环结构之do while语句循环结构之for语句break和continue语句掌握嵌套循环 本章内容 面向对象 OOP 的编程思想类 对象类和对象的关系对象的操作构造方法构造方法的重载 本章目标 理解面向对象 OOP 的编程思想理解类 对象理解类和对象的关系熟练掌握对象的操作熟练掌握构造方法熟练掌握构造方法的重载 1 面向对象的概念 面向对象的程序设计 OOP 旨在在计算机程序中模拟现实世界中的概念 能够在计算机程序中用类似的实体模拟现实世界中的实体 设计和实现软件系统的方法 在OOP中 现实世界的所有事物全都被视为对象 何为OOP 2 类与对象 2 1抽象 共同的属性 姓名 性别 年龄 身高等 共同的行为 吃饭 睡觉 行走等 罗根夫人 比尔盖茨 小小贝 抽象 共同的属性 名称 腿数 主食 栖息地等 有共同的行为 发出叫声 行走 吃等 2 2类 类 抽象 从具体到抽象 机动车类 非机动车类 车类 类 类是同种对象的集合与抽象 类描述对象的状态和行为 系统定义的类 JavaAPI 用户自定义的类 类 2 3对象 对象 型号 价格 里程 起动 停车 行驶 车轮数量 档的数量 加速 刹车 名字 外形 品种 摇尾巴 跑 跳 犬吠 属性 行为 属性 属性 行为 行为 2 4类与对象的关系 类与对象的关系 类 对象 对象的抽象 类的实例化 类是对对象的描述 是创建对象的 模板 是对象的抽象对象是表示现实世界中某个具体的事物 是类的一个实例 是类的实例化结果 3 Java中的类 3 1类的定义 class类名 属性声明 方法声明 定义一个类classPeople 类的属性声明 变量定义 intage floatheight 类的功能声明 方法定义 voidprintAge System out println age voidupdateAge inta age a 属性 类体 方法 3 2对象的声明和创建 对象的声明和创建声明对象和声明变量类似 例如 Peoplemy 创建对象使用关键字new 类名对象名 new类名 classTest publicstaticvoidmain String args Peoplemy my newPeople Peopleher newPeople Peopleyou newPeople 声明并创建People类对象 3 3对象的使用 对象的使用通过使用运算符 对象可以实现对自己的变量访问和方法的调用 classTest publicstaticvoidmain String args Peoplemy my newPeople my age 20 my printAge 运算符 访问变量和调用方法 运行结果为 20 3 4形参和实参 形参和实参的概念形参 全称为 形式参数 是在定义方法名和方法体的时候使用的参数 用于接收调用该方法时传入的实际值实参 全称为 实际参数 是在调用方法时传递给该方法的实际值注意调用方法时给定的实际参数类型要与定义方法时形式参数类型相同 而且顺序也要相同 3 5方法的调用 方法的调用使用一个方法的过程就称为方法的调用 classTest publicstaticvoidmain String args Peoplemy newPeople my printAge my printAge 张三 my printAge 20 12 my printAge 20 classPeople voidupdateAge inta System out println a 错误 参数个数不一样 错误 参数类型不一样 错误 参数不能自动转换 正确 3 6递归方法 递归方法递归就是在一个方法中调用自己 例如一个方法为sort 那么如果在这个方法中出现了调用它自己的语句 staticvoidsort sort 就可以将这个方法叫做递归方法 递归方法 n 1 return1 n 5 result fact 5 1 5 n 4 result fact 4 1 4 n 3 result fact 3 1 3 n 2 result fact 2 1 2 1 推进 2 回归 1 2 6 24 return120 求5的阶乘 4 构造方法 classTest publicstaticvoidmain String args Peoplemy my newPeople my age 20 my printAge People 方法是什么方法 构造方法 构造方法构造方法是一个用来初始化一个对象的内部状态的特殊方法 语句块 无返回值 不需要void 方法名只能是类名 构造方法 classPerson intage Person age 18 不带参数的构造方法Person inti age i 带参数的构造方法voidsetAge inti age i 无参数的构造方法 有参数的构造方法 classTest publicstaticvoidmain String args Personp1 newPerson Personp2 newPerson 21 System out println p1 age System out println p2 age 构造方法 classTest publicstaticvoidmain String args Personp1 newPerson System out println p1 age 没有写构造方法 而又调用了构造方法 有错吗 classPerson intage voidsetAge inti age i classPerson intage Person inti age i 带参数的构造方法voidsetAge inti age i 定义构造方法 没有定义无参数的构造方法 有错吗 构造方法 构造方法的特殊性构造方法的主要作用是完成对类对象的初始化工作在创建new 一个类的新对象时 系统会自动调用该类的构造方法为新对象初始化构造方法不能由编程人员显式地直接调用构造方法没有返回类型构造方法的方法名与类名相同 构造方法 在Java语言中 每个类都至少有一个构造方法如果类的定义者没有显式地定义任何构造方法 java编译器将自动为类提供一个默认的构造方法 默认构造方法没有参数 默认构造方法没有方法体在Java类中 一旦类的定义者显式地定义了一个或多个构造方法 系统将不再提供默认的构造方法 构造方法 构造方法的重载 classPerson intage Person age 18 不带参数的构造方法Person inti age i 带参数的构造方法voidsetAge inti age i 构造方法被重载了 什么是方法的重载 方法的重载就是在同一个类中允许同时存在一个以上的同名方法 只要它们的参数个数或者类型不同即可 在这种情况下 该方法就叫被重载了 这个过程称为方法的重载 overloading 构造方法 构造方法的调用Java编译器能根据调用方法时所传递的参数个数和类型选择相应的方法 classPerson intage Person age 18 不带参数的构造方法Person inti age i 带参数的构造方法voidsetAge inti a

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论