




已阅读5页,还剩15页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第4章面向对象编程 下 主讲 郭永锋电话 mail guoyongfeng 本讲目标 掌握属性存取器的使用掌握super关键字掌握final关键字掌握abstract关键字理解抽象类与抽象方法理解并掌握接口的定义与使用 属性存取器 重点 理解 指用于对类的属性 成员变量 进行存取的方法 例 publicclassDog privateStringname 属性存取器publicvoidsetName Stringname this name name publicStringgetName returnthis name super关键字 理解 super指 我父亲 要和this对照理解 如果我们在子类中想使用被子类隐藏了的父类的成员变量或成员方法就可以使用关键字super 例如 访问父类对象的brand成员方法super brand 金毛 super eat 调用父类对象的eat成员方法 final关键字 理解 final关键字可以修饰类 成员变量 成员方法和局部变量 但作用各不相同 final修饰类 则类不能被继承 不能有子类 finalclassDog 例如String类就是final的 final关键字 final修饰成员变量 要求该成员变量必须初始化 而且值以后不能修改final修饰成员方法 表示该方法不能被子类重写 override final修饰局部变量 该局部变量就会成常量 abstract只能修饰类或方法 1 用abstract修饰的类称为抽象类 例如 abstractclassPeople abstract关键字 理解 abstract关键字 用abstract修饰的方法称抽象方法 例如 publicabstractvoideat 1 抽象方法没有方法体 即 抽象方法只允许声明 不允许实现 2 抽象方法只能存在于抽象类和接口中 1 abstract类不能使用new运算符创建该类的对象例如 People如果一个抽象类 则如下是错误的 Peoplep newPeople 2 抽象类必须要产生子类 由子类创建对象 如果一个类是abstract类的子类 它必须具体实现父类的abstract方法 3 abstract类可以有abstract方法 也可以有非抽象方法 抽象类 理解 一个abstract类不关心功能的具体行为 功能的具体行为由子类负责实现 抽象类中的抽象方法可以强制子类必须给出这些方法的具体实现 例 abstractclass机动车 abstractvoid启动 abstractvoid加速 abstractvoid刹车 抽象类 理解 class手动档轿车extends机动车 void启动 System out println 踏下离合器 换到一挡 System out println 然后慢慢抬起离合器 void加速 System out println 踩油门 void刹车 System out println 踏下离合器 踏下刹车板 System out println 然后将挡位换到一挡 class自动档轿车extends机动车 void启动 System out println 使用前进挡 System out println 然后轻踩油门 void加速 System out println 踩油门 void刹车 System out println 踏下刹车板 publicclass测试类 publicstaticvoidmain Stringargs 手动档轿车car1 new手动档轿车 自动档轿车car2 new自动档轿车 car1 启动 car1 加速 car1 刹车 car2 启动 car2 加速 car2 刹车 生活中的接口 声卡 显卡 网卡 每种卡的内部结构都不相同 可以把声卡 网卡 显卡都插在PCI插槽上 而不用担心哪个插槽是专门插哪个卡的 主板 Java接口是一些方法特征的集合 但没有方法的实现 使用关键字interface来定义一个接口 接口的定义和类的定义很相似 分为接口的声明和接口体 1 接口的声明 interface接口的名字2 接口体 接口体中的方法只能进行声明 不许提供方法的实现 所以 方法的定义没有方法体 且用分号 结尾 抽象方法 如 interfacePeople voidsleep voidrun intspeed 接口的声明 定义 接口的使用 理解 一个类通过使用关键字implements声明自己实现一个或多个接口 如果使用多个接口 用逗号隔开接口名 如 classManimplementsPeople注 接口中的方法全部是抽象方法 而且这些方法可以省略abstract关键字 1 如果一个类使用了某个接口 那么这个类必须实现该接口的所有方法 即为这些方法提供方法体 2 特别要注意的是接口中的方法被默认是public的 所以类在实现接口方法时一定要用public来修饰 3 如果接口的方法的返回类型如果不是void的 那么在类中实现该接口方法时 方法体至少要有一个return语句 如果是void型 类体除了两个大括号外 也可以没有任何语句 使用接口的注意事项 实例 publicinterfacePCI publicvoidstart publicvoidstop classSoundCardimplementsPCI publicvoidstart System out println Dudu publicvoidstop System out println Soundstop Java接口中定义的方法在不同的地方被实现 可以具有完全不同的行为 这是Java接口 相当于主板上的PCI插槽的规范 classNetworkCardimplementsPCI publicvoidstart System out println Send publicvoidstop System out println Networkstop 声卡 网卡都实现了PCI插槽的规范 但行为完全不同 publicclassAssembler publicstaticvoidmain String args PCInc newNetworkCard PCIsc newSoundCard nc start sc start 可以使用Java接口标识类型运行时 根据实际创建的对象类型调用相应的方法实现 Dudu Send 控制台输
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025江苏经贸职业技术学招聘19人(第一批)考前自测高频考点模拟试题及答案详解(考点梳理)
- 2025年湖南财经工业职业技术学院博士研究生引进模拟试卷及参考答案详解
- 2025年中国化妆品级霍霍巴油行业市场分析及投资价值评估前景预测报告
- 2025江苏南京市浦口区卫健委所属事业单位招聘高层次人才11人模拟试卷及参考答案详解1套
- 2025借款合同书范本
- 2025年福建林业职业技术学院公开招聘工作人员23人模拟试卷附答案详解(突破训练)
- 2025春季贵州黔西南州赴省内外高校引才暨第十三届贵州人才博览会引进企事业单位高层次人才484人模拟试卷有答案详解
- 2025河北唐山幼儿师范高等专科学校选聘工作人员35人模拟试卷及参考答案详解1套
- 2025河南郑州大学招聘500人考前自测高频考点模拟试题含答案详解
- 2025湖南省烟草专卖局系统考试聘用部分职位计划第二次调整模拟试卷及答案详解(夺冠系列)
- 软件用户使用报告
- 公关经理培训课程
- 南海特产与美食课件
- 《三国演义》中的心理描写:以司马懿为例
- 迪尔凯姆社会学主义的巨擎汇总课件
- 家庭经济困难学生认定申请表
- 血栓性血小板减少性紫癜ttp汇编课件
- 阀门安装及阀门安装施工方案
- 大学数学《实变函数》电子教案
- YY/T 0640-2008无源外科植入物通用要求
- GB/T 2637-2016安瓿
评论
0/150
提交评论