chapter09 接口.pdfVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
chapter09 接口

·1 · 第9 章 接口 接口是面向对象程序设计语言中一个非常重要的概念。在Java 语言中,接口的重要性甚至超出了语 言本身的范畴,例如在Java 的企业级开发技术中,很多软件架构是基于接口之上的。 这一章,我们将学习Java 语言中关于接口的如下内容:  定义接口  使用接口  将接口作为类型使用  重写接口 9.1 理解接口 在软件工程中,经常将一个大的项目分由不同的开发小组共同开发,各个小组的开发工作是并行的。 在很多时候,对于不同小组的程序员来说,清楚地说明各自的软件如何相互作用,并就此达成统一“约 定”是很重要的。 比如,在某个企业信息管理软件的开发过程中,A 小组负责开发对企业基础数据进行操作(查询、 添加、修改、删除)的API 类库,同时B 小组负责开发对企业业务进行处理的API 类库,两个小组要 同时并行开发。但是在对企业业务进行处理时,必须要调用A 小组开发的API ,在这种情况下,B 小组 应该可以在对A 小组API 代码具体实现一无所知的情况下,就能编写自己的代码,并且各自小组编写 的代码能很好的协同工作。 这时,A 小组通过使用接口,清楚地说明其要开发的API 应具备什么样的方法可以被其它类调用。 B 小组根据A 小组提供的接口,可以与B 小组并行地进行开发。一般而言,接口就是这样的一种“约定”。 9.1.1 Java 中的接口 在Java 程序设计语言中,接口是一个引用类型,与类相似,所以可以在程序中定义并使用一个接口 类型的变量。 在接口中只能包含有常量、方法签名和嵌套类型,它没有构造器。在接口中声明的方法,没有方法 体。因为接口没有构造器,所以它不能被实例化,它只能被类所实现或者被另外的接口所继承。 9.1.2 在Java 中定义接口 在Java 中,接口也属于引用类型。定义接口与创建一个新的类很类似,但需要使用关键字interface, 后跟接口的名称。接口的名称同样要遵循Java 标识符命名规则。 比如,在某一个图书信息管理系统中,可能会先定义如下的一个接口,以向各个开发小组“约定”, 将要开发的某个类应具有该接口中规定的功能方法: 2 public interface BookDao { // 如果有常量的话,在这里声明 //…… // 方法声明 void add(Book book); //增加一本图书的方法声明 void modify(Book book); //修改图书信息 void delete(String bookName); //删除指定书名的图书 void find(String bookName); //根据书名查询图书的方法声明 void find(String bookName, float bookPrice); //根据书名和定价查询某本图书 // 更多的方法声明 //…… } 注意,接口中的方法签名后面没有花括号 (即没有方法体),以分号结尾。 9.1.3 在Java 中使用接口 要使用接口,需要编写一个实现接口的类。所谓实现接口的类,指的是这个类必须为接口中声明的 每一个方法提供一个方法体,即必须实现接口中的所有方法。 例如,下面是一个对图书信息进行增加、修改、删除和查找的类,它使用关键字implements 实现了 BookDao 接口: /* * 接口实现类 */ public class BookDaoImpl implements BookDao{ @Override public void add(Book book) {

文档评论(0)

yan698698 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档