PPT注意事项:当前PPT课件文件必须和提供的源代码文件夹"代码"在同一目录中即不要移动文件夹"代码"的默认位置

dcim文件夹  时间:2021-05-01  阅读:()

第6章接口与实现配合例子源代码一起使用课件制作人张跃平导读主要内容接口实现接口理解接口接口回调接口与多态接口变量做参数面向接口编程重点和难点重点:接口的理解;抽象类和接口的区别.
难点:抽象类和接口的异同点接口概述Java不支持多重继承(子类只能有一个父类).
classPeople{intage;}classStudentextendsPeople{…}classChina{voidspeakChinese(classChinaStudentextends§6.
1接口为了克服Java单继承的缺点,Java使用了接口,一个类可以实现多个接口.
使用关键字interface来定义一个接口.
接口的定义和类的定义很相似,分为接口的声明和接口体.
1.
接口声明接口通过使用关键字interface来声明格式:interface接口的名字2.
接口体接口体中包含常量定义和方法定义两部分.
接口体中只进行方法的声明,不许提供方法的实现,所以,方法的定义没有方法体,且用分号";"结尾.
如:interfacePrintable{finalintMAX=100;voidadd();floatsum(floatx,floaty);}接口的变量和方法的构成规则:接口中的变量自动都是public、static,final,接口中的方法默认为publicabstract;接口也产生class文件.
接口中的方法不能被static和final修饰,因为要重写所有接口中的方法.
接口中没有构造函数,方法可以抛出异常.
§6.
2实现接口一个类通过使用关键字implements声明自己实现一个或多个接口.
如:classAimplementsPrintable,Addable如果一个类实现了某个接口,那么这个类必须重写该接口的所有方法.
接口可以通过继承产生新的接口.
Java提供的接口都在相应的包中,通过import语句不仅可以引入包中的类,也可以引入包中的接口,例如:importjava.
io.
*;请看下面的例题接口例题例子1(Example6_1)中包含有China类、Japan类和Computable接口,而且China和Japan类都实现了Computable接口.
运行效果如图6.
1.
6.
3接口的UML图表示接口的UML图和表示类的UML图类似,使用一个长方形描述一个接口的主要构成,将长方形垂直地分为三层.
顶部第1层是名字层,接口的名字必须是斜体字形,而且需要用>修饰名字,并且该修饰和名字分列在两行.
第2层是常量层,列出接口中的常量及类型,格式是"常量名字:类型".
第3层是方法层,也称操作层,列出接口中的方法及返回类型,格式是"方法名字(参数列表):类型".

§6.
4接口回调接口回调是指:可以把实现某一接口的类创建的对象的引用赋给该接口声明的接口变量中,那么该接口变量就可以调用被类重写的接口方法.
实际上,当接口变量调用被类重写的接口方法时,就是通知相应的对象调用这个方法.
例子2分析:Comcom;//声明接口对象ImpleComobj=newImpleCom();//实现接口子类对象com=obj;//接口回调objOx12ab9§6.
5理解接口理解的关键点是:(1)接口可以抽象出重要的行为标准,该行为标准用抽象方法来表示.
(2)可以把实现接口的类的对象的引用赋值给接口变量,该接口变量可以调用被该类实现的接口方法,即体现该类根据接口里的行为标准给出的具体行为.

接口的思想在于它可以要求某些类有相同名称的方法,但方法的具体内容(方法体的内容)可以不同,即要求这些类实现接口,以保证这些类一定有接口中所声明的方法(即所谓的方法绑定).
接口在要求一些类有相同名称的方法的同时,并不强迫这些类具有相同的父类.

例子3中,要求MotorVehicles类(机动车)的子类Taxi(出租车)和Bus(公共汽车)必须有名称为brake的方法(有刹车功能),但额外要求Taxi类有名字为controlAirTemperature和charge的方法(有空调和收费功能),即要求Taxi实现两个接口,要求客车类有名字为charge的方法(有收费功能),即要求Bus只实现一个接口.

§6.
6接口与多态可以通过在接口中声明若干个abstract方法,表明这些方法的重要性,方法体的内容细节由实现接口的类去完成.
使用接口进行程序设计的核心思想是使用接口回调,即接口变量存放实现该接口的类的对象的引用,从而接口变量就可以回调类实现的接口方法.
例子4§6.
7接口参数如果一个方法的参数是接口类型,我们就可以将任何实现该接口的类的实例的引用传递给该接口参数,那么接口参数就可以回调类实现的接口方法.
例子5§6.
8abstract类与接口的比较接口和abstract类的比较如下:1.
abstract类和接口都可以有abstract方法.
2.
接口中只可以有常量,不能有变量;而abstract类中即可以有常量也可以有变量.
3.
abstract类中也可以有非abstract方法,接口不可以.

§6.
9面向接口编程面向接口去设计程序,可以通过在接口中声明若干个abstract方法,表明这些方法的重要性,方法体的内容细节由实现接口的类去完成.
使用接口进行程序设计的核心思想是使用接口回调,即接口变量存放实现该接口的类的对象的引用,从而接口变量就可以回调类实现的接口方法.

§6.
10应用举例设计一个广告牌,希望所设计的广告牌可以展示许多公司的广告词.
例子6中除了主类(Example6_6)外,还有Avertisemen接口及实现该接口的WhiteCloudCorp(白云公司)和BlackLandCorp(黑土公司),以及面向接口的AdvertisementBoard类(广告牌),程序运行效果如图6.
12.

1.
问题的分析2.
设计接口3.
设计广告牌类总结接口的接口体中只可以有常量和abstract方法.
和类一样,接口也是Java中一种重要的引用型数据类型.
当接口变量中存放了实现接口的类的对象的引用后,接口变量就可以调用类实现的接口方法,这一过程被称为接口回调.
和子类体现多态类似,由接口产生的多态就是指不同的类在实现同一个接口时可能具有不同的实现方式.
在使用多态设计程序时,要熟练使用接口回调技术以及面向接口编程的思想,以便体现程序设计所提倡的"开-闭"原则.

RAKsmart新年钜惠:E3服务器秒杀$30/月起,新上韩国服务器,香港/日本/美国站群服务器,VPS月付$1.99起,GPU服务器,高防服务器_vps香港

RAKsmart发布了新年钜惠活动,即日起到2月28日,商家每天推出限量服务器秒杀,美国服务器每月30美元起,新上了韩国服务器、GPU服务器、香港/日本/美国常规+站群服务器、1-10Gbps不限流量大带宽服务器等大量库存;VPS主机全场提供7折优惠码,同时针对部分特惠套餐无码直购每月仅1.99美元,支持使用PayPal或者支付宝等方式付款,有中英文网页及客服支持。爆款秒杀10台/天可选精品网/大...

VoLLcloud:超便宜香港CMI大带宽vps-三网CMI直连-年付四免服务-低至4刀/月-奈飞

vollcloud LLC创立于2020年,是一家以互联网基础业务服务为主的 技术型企业,运营全球数据中心业务。致力于全球服务器租用、托管及云计算、DDOS安 全防护、数据实时存储、 高防服务器加速、域名、智能高防服务器、网络安全服务解决方案等领域的智 能化、规范化的体验服务。所有购买年付产品免费更换香港原生IP(支持解锁奈飞),商家承诺,支持3天内无条件退款(原路退回)!点击进入:vollclo...

raksmart:全新cloud云服务器系列测评,告诉你raksmart新产品效果好不好

2021年6月底,raksmart开发出来的新产品“cloud-云服务器”正式上线对外售卖,当前只有美国硅谷机房(或许以后会有其他数据中心加入)可供选择。或许你会问raksmart云服务器怎么样啊、raksm云服务器好不好、网络速度快不好之类的废话(不实测的话),本着主机测评趟雷、大家受益的原则,先开一个给大家测评一下!官方网站:https://www.raksmart.com云服务器的说明:底层...

dcim文件夹为你推荐
操作httpthinksns请问除了discuz、ThinkSNS、wordpress、phpwind之外,还有什么类似这样的开wordpress模板wordpress 模板和wordpress主题有什么不同http404未找到HTTP 404 - 未找到文件,怎么解决啊googlepr值如何提高Google PR值?字节跳动回应TikTok易主#北京字节跳动科技有限公司#小说审核有三面么?我面试了两轮就叫我回家等消息了 要是刷下来了也该告美要求解锁iPhone美版iphone6解锁怎么操作?支付宝账户是什么什么是企业支付宝账户正大天地网二三线城市适合做生鲜b2b电商吗徐州商标介绍徐州的一种产品
域名转让 vps教程 免费二级域名申请 老域名全部失效请记好新域名 全球付 国内永久免费云服务器 nerd 湖南服务器托管 100x100头像 圣诞促销 免费防火墙 免费美国空间 hktv 七夕快乐英语 移动服务器托管 中国电信测速器 备案空间 德讯 atom处理器 登陆qq空间 更多