- 1、本文档共24页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
23 第5章 接口和包 本章主要讲述如下内容 : ? 接口的定义和使用; ? 接口与抽象类的异同点; ? 包的定义和使用; 5.1 接口 引入接口的原因:在程序设计中经常遇到这样一个问题:有些类互不相关,但却具有相似的方法。并且这些方法在各个类中的实现互不相同。我们不能为这些类定义一个共同的父类,但又希望在程序中体现出它们共同的接口。 5.1.1 接口的定义和应用 接口是一系列常量和空方法的集合,它提供了多个类共同的方法,但不限制每个类如何实现这些方法。 Java允许一个类同时实现多个接口,相当于实现多继承的功能。 5.1.1 接口的定义和应用(续) 声明一个接口的语法格式: 5.1.1 接口的定义和应用(续) 接口中不能声明任何变量和构造函数。 如果一个类实现多个接口,应该在接口名之间用逗号隔开。 当一个类实现接口时,必须实现接口中给出的空方法,若实现接口的类是一个抽象类,可以把实现接口的任务交给子类去实现。例如: 5.1.1 接口的定义和应用(续) 接口中定义的变量实际上是常量,必须给出它们的初始值,实现接口的类可以自由引用这些常量。例如: 5.1.1 接口的定义和应用(续) 在类中实现接口中方法时,方法的特征必须和接口中声明的方法特征保持一致; 实现方法时必须在方法前加上public; 若一个类没有对接口中的方法具体实现,那么必须将该类声明为abstract类。例如: 5.1.2 接口和抽象类的异同点 接口和抽象类的相同点: 5.1.2 接口和抽象类的异同点(续) 接口和抽象类的不同点: 5.2 包 在Java中可以将自己写的类,按一定的方法归属于不同的子目录中(包)。 在缺省情况下,Java将所有的类归属一个缺省包中。在不同的包中可以有同名的类存在。 Java中的包与C++中的名字空间相似。 5.2.1 package语句 package语句告诉编译器当前类属于哪个包。如果没有package语句,类就存放在无名的缺省包中(即当前目录中)。 引进包的概念主要是为了名字冲突。 格式: package pkgl[.pkg2[.pkg3]]; 5.2.2 import语句 import语句位于package语句之后,类的定义之前 ; 格式:import package1[.package2].(class-name | *); 采用*号不影响程序的运行性能,但会影响编译速度。指明具体类比引入整个包更为合理。 5.2.3 包应用举例 思考和练习 P98 3~6 * [public] interface interfaceName [extends super-interface-List]{ type ConstantName=value; type MethodName( Parameter lists); } // 程序5-1 interface Sortable{ // 定义一个接口 int Compare(Sortable s); }? class Sort{ // 定义一个排序类,仅有一个静态的方法 public static void SelectSort(Sortable a[ ]){ int i, j, k; Sortable temp; for(i=0;ia.length-1;i++){ // 选择排序 k=i; for(j=i+1;ja.length;j++) if(a[k].Compare(a[j])0) k=j; temp=a[i]; a[i]=a[k]; a[k]=temp; } } } class Student implements Sortable{ // 定义一个学生类 private int score; Student(int x){ score=x; } // 实现接口Sortable中的方法 public int Compare(Sortable s){ Student st=(Student)s; // 类型强制转换 return score-st.score; } public String toString( ){ return score=+score; } } class Rectangle implements Sortable{ // 矩形类也实现了接口 private int length,width; R
您可能关注的文档
- 房地产统计 教学课件 ppt 作者 刘玉玲 第7章 房地产投资决策.ppt
- Excel在会计信息处理中的应用 教学课件 ppt 作者 978-7-302-23528-6第二章.ppt
- Excel在会计信息处理中的应用 教学课件 ppt 作者 978-7-302-23528-6第九章.ppt
- Excel在会计信息处理中的应用 教学课件 ppt 作者 978-7-302-23528-6第七章.ppt
- Excel在会计信息处理中的应用 教学课件 ppt 作者 978-7-302-23528-6第三章.ppt
- Excel在会计信息处理中的应用 教学课件 ppt 作者 978-7-302-23528-6第十章.ppt
- 房地产统计 教学课件 ppt 作者 刘玉玲 第8章 房地产开发与销售.ppt
- Excel在会计信息处理中的应用 教学课件 ppt 作者 978-7-302-23528-6第五章.ppt
- Excel在统计分析中的应用 教学课件 ppt 作者 陈斌第1章.pptx
- Excel在统计分析中的应用 教学课件 ppt 作者 陈斌第2章.pptx
文档评论(0)