Java编程 第二章.ppt_第1页
Java编程 第二章.ppt_第2页
Java编程 第二章.ppt_第3页
Java编程 第二章.ppt_第4页
Java编程 第二章.ppt_第5页
已阅读5页,还剩31页未读, 继续免费阅读

下载本文档

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

文档简介

第二讲Java 面向对象程序设计语言 计算机语言的发展 机器语言 50年代 过程语言 60年代 面向对象语言 80年代 对象 对象就是我们周围的各种各样的事物 例如 衣服 盘子 宠物 朋友 电脑等 每个对象都有一些状态 属性 例如 衣服 颜色 长度 面料 猫 名字 情绪 饥饿 有些对象会作出一些行为 例如 猫 名字 情绪 疲劳 饥饿 发怒 玩耍 吃食 睡觉 对象的行为会改变对象的状态 例如 玩耍 疲劳 True睡觉 疲劳 False吃食 饥饿 False 面向对象 面向对象的程序设计与我们人类观察客观事物的模式相同 用类表示客观事物 用类中的变量表示事物的属性 用函数 方法 表示事物的行为 属性与行为相互作用 抽象 抽象 就是对事物的状态 行为进行概括 总结 描述 软件开发过程可分为五个阶段 分析 设计 实现 测试 发布 抽象对应于软件工程的分析 设计阶段 分析 就是确定我们开发的系统想要实现什么 在分析阶段可以定义一组操作者 以及系统必须完成的行为 此外 还要定义一组主对象 系统在主对象之间完成操作 行为 交互 行为的描述要足够详细 设计 就是确定系统如何实现要达到的目标 在设计阶段 要生成操作者 行为 主对象的模型 类是对象的蓝图 类是软件的蓝图 你可以用类 来实例化许许多多个别的对象 在类中定义了一套数据元素 属性 和一套行为 方法 行为用来操作对象 以及完成相关对象之间的交互 属性和方法都叫做成员 例如交通工具对象必须保存两个属性 最大载重量和当前载重量 装载集装箱的方法要始终跟踪这两个属性 声明类 包括类声明和类体class类名 类体 类声明 public abstract final classclassName extendssuperclassName implementsinterfaceNameList 声明属性 声明方法 说明 任何合法的标识符 已经被使用的除外 public 指明可以被任何其它代码访问 protected 指明可以被同一个包中的其它代码访问 private 指明仅能被同一个类中的其它代码访问 指明方法返回值的类型 假如方法不返回值 应被声明为void 向方法传递参数 传递多个参数时 参数之间用逗号分开 每个参数由参数类型和标识符组成 成员变量 public protected private static final transient volatile typevariableName 成员变量static 静态变量 类变量 相对于实例变量final 常量transient 暂时性变量 用于对象存档volatile 贡献变量 用于并发线程的共享 成员方法 public protected private static final abstract native synchronized returnTypemethodName paramList throwsexceptionList 方法声明 statements 方法体方法声明static 类方法 可通过类名直接调用abstract 抽象方法 没有方法体final 方法不能被重写native 集成其它语言的代码synchronized 控制多个并发线程的访问 成员方法 值参传递 参数的值参传递 例6 1publicclassPassTest floatptValue publicstaticvoidmain Stringargs intval PassTestpt newPassTest val 11 System out println OriginalIntValueis val 成员方法 值参传递 pt changedInt val System out pringln IntValueafterChangeis val pt ptValue 101f System out println OriginalptValueis pt ptValue pt ChangeObjValue pt System out println ptValueafterChangeis pt ptValue 成员方法 值参传递 publicvoidchangeInt intvalue value 55 publicvoidchangeObjValue PassTestref ref ptValue 99f 成员方法 值参传递 运行结果c javaPassTestOriginalIntValueis 11IntValueafterChangeis 11OriginalptValueis 101 0ptValueafterChangeis 99 0 成员方法 方法体 方法体包括局部变量的声明以及所有合法的Java指令 局部变量的作用域在该方法内部 若局部变量与类的成员变量同名 则类的成员变量被隐藏 成员方法 方法体 例6 2classVariable intx 0 y 0 z 0 类的成员变量voidinit intx inty this x x this y y intz 5 局部变量System out println ininit System out x x y y z z 成员方法 方法体 publicclassVariableTest publicstaticvoidmain Stringargs Variablev newVariable System out println beforeinit System out println x v x y v y z v z v init 20 30 System out println afterinit 成员方法 方法体 System out println x v x y v y z v z 成员方法 方法体 运行结果c javaVariableTest beforeinit x 0y 0z 0 ininit x 20y 30z 5 afterinit x 20y 30z 0 成员方法 方法体 this 用在一个方法中引用当前对象 它的值是调用该方法的对象 返回值须与返回类型一致 或是其子类返回类型是接口时 返回值必须实现该接口 方法重载 MethodOverloading 方法重载指多个方法享有相同的方法名区别在于 参数类型不同 或个数不同 返回类型不能用来区分重载的方法 方法重载 例6 3classMethodOverloading voidreceive inti voidreceive intx inty voidreceive doubled voidreceive Strings 方法重载 publicclassMethodOverloadingTest publicstaticvoidmain Stringargs MethodOverloadingmo newMethodOverloading mo receive 1 mo receive 2 3 mo receive 12 56 mo receive veryinteresting isn tit 方法重载 运行结果 c javaMethodOverloadingTestReceiveoneintdatai 1Receivetwointdatasx 2y 3Receiveonedoubledatad 12 56Receiveastrings veryinteresting isn tit 构造方法 重载经常用于构造方法构造方法具有和类名相同的名称 而且不返回任何数据类型构造方法只能由new运算符调用利用构造方法进行初始化 构造方法 例6 4classPoint intx y Point x 0 y 0 Point intx inty this x x this y y finalize 方法 在根类java land Object中实现对对象进行垃圾收集前 系统自动调用自己重写时需要调用父类的finalize 方法 protectedvoidfinalize throwsthrowable cleanupcodeforthisclasssuper finalize 对象 类实例化可生成对象对象通过消息传递来进行交互消息传递即激活指定的某个对象的方法以改变其状态或让它产生一定的行为 publicclassHelloWorldApp publicstaticvoidmain Stringargs System out println hello 对象的生命周期 生成使用清除 对象的生成 包括声明 实例化和初始化格式 typeobjectName newtype paramlist 1 声明 typeobjectName声明并不为对象分配内存空间 而只是分配一个引用空间 2 实例化 运算符new为对象分配内存空间 它调用对象的构造方法 返回引用 一个类的不同对象分别占据不同的内存空间 对象的生成 3 生成 执行构造方法 进行初始化 根据参数不同调用相应的构造方法 对象的引用指向一个中间的数据结构 它存储有关数据类型的信息以及当前对象所在的堆的地址 而对于对象所在的实际的内存地址是不可操作的 这就保证了安全性 对象的使用 通过运算符 可以实现对变量的访问和方法的调用 设定访问权限来限制其它对象对它的访问 调用对象的变量 格式 objectReference variableobjectReference是一个已生成的对象 也可以是能生成对象的表达式例 p x 10 tx n

温馨提示

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

评论

0/150

提交评论