Java语言第7章 接口和抽象.pptVIP

  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文档。上传文档
查看更多
7.3 内部类 内部类Course有一个构造器,可以每次设定学生所学习的课程,当然在内部类的里面根据需要将会添加一些方法,以便做一些更加具体的事情, 7.3 内部类 内部类与外部类的称呼是相对的,如果一个类包含另一个类,习惯上我们称里面的为内部类,相对于内部类来讲,包含它的类称为外部类。并不是说一个类只能包含一个内部类,在内部类中如果需要仍然可以再设计内部类,那第二层的类相当于最里面的类来讲就是外部类了。 7.3 内部类 在这里,我们仔细分析一下上面的代码。在Course类中能够访问它本身的实例字段,即字符串数组,但在Course类中并没有定义strName与strNumber字段,而是指向了创建Course类实例的Student对象的strName与strNumber字段,就像是访问它本身的数据一样,虽然strName与strNumber字段是私有的,但作为内部类仍然是可以访问的。 7.1 接口 7.2 克隆 7.3 内部类 7.4 抽象行为 7.5 抽象类 7.6 抽象与接口的区别 第七章 接口和抽象 7.1 接口 什么是接口呢?在阐述接口的概念以前,我们先举个例子,在日常生活中,我们都会用到插头及插座,一个插座无论是两相的还是三相的,也无论生产插座的厂家是哪里的,都会执行相同的规范,因此当用户购买到插座以后都可以使用。在这里我们关心的是制造插座的规范,并不关心这个插座是用来接电视机或台灯;作为生产插座的厂家关心的也只是制造这个插座过程中所执行的规范,他们只要按照规范生产出来的插座,用户就一定可以正常使用。 7.1 接口 接口本身就类似于上例中的制定插座规范的部门,在接口中声明的行为规范(体现在编程语言中就是方法的声明,只有声明而没有方法体),也就是生产厂家所执行的生产规范,生产厂家对应的就是类,也就是说接口是通过类来实现的。这也正如生产插座的厂家要执行工业部关于插座的生产规范,类也要执行接口中定义的行为规范,也就是方法。 7.1 接口 接口是只说明类应该做什么,但并不指定如何做的方法,一个类可以实现一个或多个接口。在这里再强调一次,接口只是声明应该做,但不关心如何做。 7.1 接口 接口在Java中是用关键字interface来声明的。所以说接口并不是一个类,而是对符合接口需求的类的一套规范。 public interface Person { String getName(); String getSex(); String getBirthday(); String getAddress(); void setAddress(String strAddress); } 7.1 接口 接口标识符的声明与类标识符的声明一致,接口开头的第一个字符习惯上也是大写。 仔细观察这段代码会发现,在方法的声明中,我们没有声明访问控制符,这是因为接口都是public型的,接口中的方法自动的也全部都是public型的,所以不需要再在方法声明中使用public关键字。试想,如果把接口声明为其他的访问控制符,那根本没有任何的意义,所以接口只能是public型的。 7.1 接口 实现一个接口是指类实现一个接口,基本上类似于类的继承,但接口的实现是通过关键字implements来实现的。 实现接口的类,必须要实现接口中的所有方法。 7.1 接口 观察我们所写的代码,在Student类中功能与接口中声明的方法一致,我们做了一些修改,与以前的Sutdent类有所不同了,并且完成了方法,以明确告诉程序如何操作,如getName方法,在接口中只是声明为返回一个字符串,而在实现接口的类(Student类)中我们却明确告诉返回的是学生的姓名。如果是工人类实现了Person接口,那就应该返回工人的姓名。 现在我们再把getName方法修改一下,使之还原到原来的样子,代码如下: public String getStudentName() { return strName; } 7.1 接口 现在我们再把在类实现中实现了接口的方法修改一下,将访问控制符由public改为别的控制符,代码如下: protected String getSex() { return strSex; } 7.1 接口 由此我们可以总结出以下三点: 声明类需要实现指定的接口; 提供接口中所有方法的定义; 实现类中在接口中定义的方法必须全部都是public的。 7.1 接口 在前面我们提到过,一个类可以实现多个接口,正如一个工厂可以生产多种产品,执行不同的生产规范一样的道理。 如果一个类实现多个接口,也是用关键字implements来实现的,多个接口之间用逗号“,”来分隔。 我们就以一个具体的例子来探讨一下接口的多重实现,并学习如何利用Java公开库

文档评论(0)

132****9295 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档