已阅读5页,还剩14页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
.,1,PPT注意事项:当前PPT课件文件必须和提供的源代码文件夹“代码”在同一目录中即不要移动文件夹“代码”的默认位置,.,2,第6章接口与实现,配合例子源代码一起使用,课件制作人张跃平,.,3,导读,主要内容接口实现接口理解接口接口回调接口与多态接口变量做参数面向接口编程重点和难点重点:接口的理解;抽象类和接口的区别。难点:抽象类和接口的异同点,.,4,接口概述,Java不支持多重继承(子类只能有一个父类)。,classPeopleprivateintaverHeight=166;classChinaPeopleextendsPeopleintheight;publicintgetHeight()returnheight;,.,5,6.1接口,为了克服Java单继承的缺点,Java使用了接口,一个类可以实现多个接口。使用关键字interface来定义一个接口。接口的定义和类的定义很相似,分为接口的声明和接口体。1.接口声明接口通过使用关键字interface来声明格式:interface接口的名字2.接口体接口体中包含常量定义和方法定义两部分。接口体中只进行方法的声明,不许提供方法的实现,所以,方法的定义没有方法体,且用分号“;”结尾。如:,interfacePrintablefinalintMAX=100;voidadd();floatsum(floatx,floaty);,.,6,接口的变量和方法的构成规则:,接口中的变量自动都是public、static,final,接口中的方法默认为publicabstract;接口也产生class文件。接口中的方法不能被static和final修饰,因为要重写所有接口中的方法。接口中没有构造函数,方法可以抛出异常。,.,7,6.2实现接口,一个类通过使用关键字implements声明自己实现一个或多个接口。如:classAimplementsPrintable,Addable如果一个类实现了某个接口,那么这个类必须重写该接口的所有方法。接口可以通过继承产生新的接口。Java提供的接口都在相应的包中,通过import语句不仅可以引入包中的类,也可以引入包中的接口,例如:importjava.io.*;请看下面的例题,.,8,接口例题,例子1(Example6_1)中包含有China类、Japan类和Computable接口,而且China和Japan类都实现了Computable接口。运行效果如图6.1。,.,9,6.3接口的UML图,表示接口的UML图和表示类的UML图类似,使用一个长方形描述一个接口的主要构成,将长方形垂直地分为三层。顶部第1层是名字层,接口的名字必须是斜体字形,而且需要用修饰名字,并且该修饰和名字分列在两行。第2层是常量层,列出接口中的常量及类型,格式是“常量名字:类型”。第3层是方法层,也称操作层,列出接口中的方法及返回类型,格式是“方法名字(参数列表):类型”。,.,10,6.4接口回调,接口回调是指:可以把实现某一接口的类创建的对象的引用赋给该接口声明的接口变量中,那么该接口变量就可以调用被类重写的接口方法。实际上,当接口变量调用被类重写的接口方法时,就是通知相应的对象调用这个方法。例子2,分析:Comcom;/声明接口对象ImpleComobj=newImpleCom();/实现接口子类对象com=obj;/接口回调,obj,.,11,6.5理解接口,理解的关键点是:(1)接口可以抽象出重要的行为标准,该行为标准用抽象方法来表示。(2)可以把实现接口的类的对象的引用赋值给接口变量,该接口变量可以调用被该类实现的接口方法,即体现该类根据接口里的行为标准给出的具体行为。,接口的思想在于它可以要求某些类有相同名称的方法,但方法的具体内容(方法体的内容)可以不同,即要求这些类实现接口,以保证这些类一定有接口中所声明的方法(即所谓的方法绑定)。接口在要求一些类有相同名称的方法的同时,并不强迫这些类具有相同的父类。,例子3中,要求MotorVehicles类(机动车)的子类Taxi(出租车)和Bus(公共汽车)必须有名称为brake的方法(有刹车功能),但额外要求Taxi类有名字为controlAirTemperature和charge的方法(有空调和收费功能),即要求Taxi实现两个接口,要求客车类有名字为charge的方法(有收费功能),即要求Bus只实现一个接口。,.,12,6.6接口与多态,可以通过在接口中声明若干个abstract方法,表明这些方法的重要性,方法体的内容细节由实现接口的类去完成。使用接口进行程序设计的核心思想是使用接口回调,即接口变量存放实现该接口的类的对象的引用,从而接口变量就可以回调类实现的接口方法。例子4,.,13,6.7接口参数,如果一个方法的参数是接口类型,我们就可以将任何实现该接口的类的实例的引用传递给该接口参数,那么接口参数就可以回调类实现的接口方法。例子5,.,14,6.8abstract类与接口的比较,接口和abstract类的比较如下:1abstract类和接口都可以有abstract方法。2接口中只可以有常量,不能有变量;而abstract类中即可以有常量也可以有变量。3abstract类中也可以有非abstract方法,接口不可以。,.,15,6.9面向接口编程,面向接口去设计程序,可以通过在接口中声明若干个abstract方法,表明这些方法的重要性,方法体的内容细节由实现接口的类去完成。使用接口进行程序设计的核心思想是使用接口回调,即接口变量存放实现该接口的类的对象的引用,从而接口变量就可以回调类实现的接口方法。,.,16,6.10应用举例,设计一个广告牌,希望所设计的广告牌可以展示许多公司的广告词。,例子6中除了主类(Example6_6)外,还有Avertisemen接口及实现该接口的WhiteCloudCorp(白云公司)和BlackLandCorp(黑土公司),以及面向接口的AdvertisementBoard类(广告牌),程序运行效果如图6.12。,1问题的分析2设计接口3设计广告牌类,.,17,总结,接口的接口体中只可以有常量和abstract方法。和类一样,接口也是Java中一种重要的引用型数据类型。当接口变量中存放了实现接口的类的对象的引用后,接口变量就可以调用类实现的接口方法,这一过程被称为接口回调
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- GB/T 47788-2026纺织品纺织材料加速水解及水解产物在受控堆肥条件下生物降解的试验方法
- 安全生产三莫忘原则讲解
- 医院健康电台台词
- 道路消防安全工作部署
- 纤维调施胶干燥工岗前班组考核考核试卷含答案
- 己二酸装置操作工操作规程评优考核试卷含答案
- 水供应输排工安全意识模拟考核试卷含答案
- 电力机车钳工安全行为水平考核试卷含答案
- 地震勘探工安全行为竞赛考核试卷含答案
- 中药油剂工岗中评优竞赛考核试卷含答案
- 高考语文120个文言文实词
- CJT273-2012 聚丙烯静音排水管材及管件
- 非正常情况接发列车作业标准
- LY-T 3361-2023 沉香提取物标准规范
- 《食品工程原理》第五章-传热
- 2023年浙江嘉兴市嘉善县祥符荡开发建设有限公司招聘笔试题库含答案解析
- GB/T 36507-2023工业车辆使用、操作与维护安全规范
- 福建省流动人口信息登记表-新版实用文档
- 2023年高考历史试题及参考答案(上海卷)
- 生产计划排产表-自动排产
- GA/T 744-2013汽车车窗玻璃遮阳膜
评论
0/150
提交评论