




已阅读5页,还剩32页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
面向对象的特性 目标 有关面向对象的概念java的类java的对象java的面向对象特性抽象类和接口innerclass总结 面向对象的概念 面向对象程序设计围绕的几个主要概念 抽象数据类型 类 类型层次 子类 封装性 继承性 多态性对象 消息和方法 抽象数据类型 classcar intcolor number intdoor number intspeed voidbrake voidspeedup voidslowdown 抽象数据类型 类 什么是类 类是描述对象的 基本原型 它定义一种对象所能拥有的数据和能完成的操作 在面向对象的程序设计中 类是程序的基本单元 程序中的对象是类的一个实例 是一个软件单元 它由一组结构化的数据和在其上的一组操作构成 变量 即指对象的所知道的状态方法 指对象的功能单元 什么是消息 软件对象通过相互间传递消息来相互作用和通信一个消息由三部分组成 1 接受消息的对象2 要完成方法的名字3 方法需要的参数 一个例子在程序中操作对象是类的一个实例 即对象创建一个对象helloobj newhello 调用方法obj showstring helloworld classhello privatestrings publicvoidshowstring system out println s publicvoidchangestring stringstr s str returns 封装 什么是封装 封装把对象的所有组成部分组合在一起 封装定义程序如何引用对象的数据 封装实际上使用方法将类的数据隐藏起来 控制用户对类的修改和访问数据的程度 子类 什么是子类 子类是作为另一个类的扩充或修正所定义的一个类 bicycle superclass mountainbikes racingbikes tandembikes subclass 继承 继承是子类利用父类中定义的方法和变量就像它们属于子类本身一样 classcar intcolor number intdoor number intspeed push break add oil classtrash carextendscar doubleamount fill trash 何时选择继承性 一个很好的经验 b是一个a吗 如果是则让b做a的子类 常犯的错误 a有一个b吗 例如让汽车轮子成为汽车的子类是错误的 方法重写 overridden 什么是方法的覆盖 重写 在子类中重新定义父类中已有的方法 classcar intcolor number intdoor number intspeed push break speed 0 add oil classtrash carextendscar doubleamount fill trash push break speed speed 10 多态性 polymorphic 什么是方法的重载 多态性 在同一个类中至少有两个方法用同一个名字 但有不同的参数 类 voidshow intint num voidshow doubledouble num voidshow nitnit um floatfloat um 123 1 23 123 1 23 java类定义 包括类声明和类体类声明 public abstract final classclassname extendssuperclassname implementsinterfacenamelist 类体定义如下 classclassname public protected private static final transient volatile typevariablename 成员变量 public protected private static final abstract native synchronized returntypemethodname paramlist throwsexceptionlist statements 成员方法 成员变量 public protected private static final transient volatile typevariablename 成员变量static 静态变量 类变量 相对于实例变量final 常量 成员方法 public protected private static final abstract native synchronized returntypemethodname paramlist throwsexceptionlist 方法声明 statements 方法体方法声明static 类方法 可通过类名直接调用abstract 抽象方法 没有方法体final 方法不能被重写native 集成其它语言的代码synchronized 控制多个并发线程的访问 成员方法 值参传递 publicclasspasstest floatptvalue publicstaticvoidmain string args 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 方法体包括局部变量的声明以及所有合法的java指令 局部变量的作用域在该方法内部 若局部变量与类的成员变量同名 则类的成员变量被隐藏 classvariable 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 this 用在一个方法中引用当前对象 它的值是调用该方法的对象 返回值须与返回类型一致 或是其子类返回类型是接口时 返回值必须实现该接口 方法重载 methodoverloading 方法重载指多个方法享有相同的方法名区别在于 参数类型不同 或个数不同 返回类型不能用来区分重载的方法 classmethodoverloading 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 构造方法 重载经常用于构造方法构造方法具有和类名相同的名称 而且不返回任何数据类型构造方法只能由new运算符调用利用构造方法进行初始化构造方法不能被继承 classpoint 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 java对象 类实例化可生成对象对象通过消息传递来进行交互消息传递即激活指定的某个对象的方法以改变其状态或让它产生一定的行为 publicclasshelloworldapp publicstaticvoidmain stringargs system out println hello 对象的生命周期 生成使用清除 包括声明 实例化和初始化格式 typeobjectname newtype paramlist 1 声明 typeobjectname声明并不为对象分配内存空间 而只是分配一个引用空间 2 实例化 运算符new为对象分配内存空间 它调用对象的构造方法 返回引用 一个类的不同对象分别占据不同的内存空间 3 生成 执行构造方法 进行初始化 根据参数不同调用相应的构造方法 对象的引用指向一个中间的数据结构 它存储有关数据类型的信息以及当前对象所在的堆的地址 而对于对象所在的实际的内存地址是不可操作的 这就保证了安全性 通过运算符 可以实现对变量的访问和方法的调用 设定访问权限来限制其它对象对它的访问 调用对象的变量 格式 objectreference variab
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 工程咨询人才培训方案
- 织布机操作工职业考核试卷及答案
- 柔性版材生产工入职考核试卷及答案
- 汽车发动机机油的检测和添加教学设计-2025-2026学年中职专业课-汽车保养与维护-汽车运用与维修-交通运输大类
- 机器人视觉跟踪效率研究报告
- 有机废物回收利用研究分析报告
- 档案电子文件格式标准研究报告
- 医院联谊义诊活动方案策划
- 金融咨询义诊活动方案
- 园林绿化施工技术标准与实务指导
- 车队管理培训课件模板
- 内蒙古呼伦贝尔农垦集团有限公司招聘笔试题库及答案详解(历年真题)
- 2025年省农垦集团有限公司人员招聘笔试备考附答案详解(完整版)
- 基于核心素养的幼儿园教学评价体系
- 2025至2030中国X光安检机行业项目调研及市场前景预测评估报告
- DZ∕T 0215-2020 矿产地质勘查规范 煤(正式版)
- 聚氨酯防水涂料检测作业指导书
- 《幼儿园中班第一学期家长会》 PPT课件
- 公司组织架构图模板可编辑
- 电厂确保稳定运行技术措施
- 殡葬资格考试:殡葬服务试题及答案
评论
0/150
提交评论