第7章 接口和枚举_第1页
第7章 接口和枚举_第2页
第7章 接口和枚举_第3页
第7章 接口和枚举_第4页
第7章 接口和枚举_第5页
已阅读5页,还剩18页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

人民邮电出版社7接口和枚举Java程序设计第章导读Introduction接口,是java提供的一个重要的类型,是对抽象类的进一步抽象。通过接口的继承和接口回调技术,可以实现“多重继承”,并实现“行为”上的多态。C目录ONTENTS7.2

实现接口7.3接口与多态7.4接口的设计与使用7.5

枚举7.6

小结7.1接口1、接口的概念Java接口是由若干常量和方法声明组成的集合。接口中的方法只有声明没有实现。这些方法可以在不同的地方被不同的类实现,而这些实现可以具有不同的行为(功能)。定义接口的目的在于规范对象的行为,告诉接口的实现者必须做什么,但不要求怎么做,由实现者根据自身情况决定怎么做。接口中定义的常量是接口的特征属性,用于规范接口要求。7.1.1接口的概念与定义2、接口的定义格式如下:[修饰符]interface接口名称[extends父接口名列表]{[public][static][final]数据类型变量名=常量值;[public][abstract]返回值类型方法名(参数列表);}7.1.1接口的概念与定义publicinterfaceCubage{ publicstaticfinaldoublePI=3.1415926;publicabstractdoubledoCubage();}2、接口的定义7.1.1接口的概念与定义例如,定义一个接口Cubage,实现计算物体的体积。1、语法上的不同7.1.2接口与abstract类(1)抽象类中既可以包含抽象方法,也可以包含非抽象的普通方法;而接口中所有的方法必须是抽象方法;(2)抽象类中的抽象方法的访问类型可以是public,protected和默认类型,但接口中的抽象方法只能是public类型的;(3)抽象类中可以有普通成员变量,而接口中的所有变量均为publicstaticfinal修饰,即均为常量;(4)抽象类里可以有构造方法,而接口内不能有构造方法;(5)一个类可以实现多个接口,但只能继承一个抽象类。C目录ONTENTS7.3接口与多态7.4接口的设计与使用7.5

枚举7.6

小结7.1接口7.2

实现接口7.2.1用类实现接口[修饰符]class类名[extends父类名][implements接口A,接口B,···]{类成员变量和成员方法;为接口A中的所有方法编写方法体,实现接口A;为接口B中的所有方法编写方法体,实现接口B;}格式:如果一个非抽象类实现了某个接口,那么这个类就要重写接口中的所有方法。接口中的方法均用publicabstract修饰,所以在类重写这些方法时也一定要用public进行修饰。【例7.1】定义接口并实现接口计算圆柱和圆锥的体积。

Example7_1.java7.2.2定义接口中的方法C目录ONTENTS7.3接口与多态7.4接口的设计与使用7.5

枚举7.6

小结7.1接口7.2实现接口7.3.1接口中多态的概念接口多态是指不同的类在实现同一个接口时具有不同的实现过程,当接口变量进行回调接口方法时就具有多种不同的形态。实现接口的多态性通常会使用到Java的接口回调技术。接口回调本质上与继承中的上转型相同,不同之处是,接口回调是用接口句柄来获得并调用实现这个接口的子类的引用,而上转型是用父类句柄来获得并调用实现此父类的子类的引用。7.3.2通过接口实现多态在接口定义时,将不同类的相同行为抽象出来成为接口,每个类对接口中的方法给出具体的行为实现。当通过接口句柄调用方法时,系统会根据具体的子类对象决定执行哪个类中相应的方法,从而实现行为多态。【例7.2】一个公司的员工,每天上班后打开桌上的工作灯,打开电脑开始工作。下班前,关闭计算机和台灯,然后下班。请进行编程描述这一过程。Example7_02.javaC目录ONTENTS7.3接口与多态7.4接口的设计与使用7.5

枚举7.6

小结7.1接口7.2实现接口接口主要是对不同类型的对象所具有的相同行为进行统一和规范,重点在于“行为”,而与类型无关,所以更适于功能扩展。【例7.3】编写程序,模拟计算机使用USB设备的过程。

Example7_03.java7.4接口的设计与使用C目录ONTENTS7.3接口与多态7.4接口的设计与使用7.5枚举7.6

小结7.1接口7.2实现接口如果一个对象的所有值可以一一列举出来,则称为枚举。在Java中,枚举类型也是一个类,用枚举类的变量表示枚举值。Java定义了一个基础枚举类Enum,任何枚举类都是这个类的子类。使用枚举可以提高程序的清晰性和可读性。7.5枚举7.5.1简单的枚举类enum枚举名{枚举常量表列}定义枚举类后,就可以定义枚举变量了。枚举变量的定义形式:枚举名枚举变量表列;定义的语法形式:【例7.4】显示一个星期中每一天的工作效率。Example7_04.java枚举类中除了枚举常量外,还可以定义域、方法、构造方法,main方法也可以定义在枚举类中。如果在枚举类中定义了域和方法,则枚举常量必须放在枚举体内的第一行,而且最后一个枚举常量后要加一个“;”。【例7.5】根据学生的百分成绩,显示学生的成绩是优秀、良好等。

Example7_05.java7.5.2复杂的枚举类C目录ONTENTS7.3接口与多态7.4接口的设计与使用7.5枚举7.6小结7.1接口7.2实现接口小结Summary本章主要介绍了接口和枚举。首先,介绍了接口的基本概念和定义方法,然后讨论了接口和抽象类之间的区别。面向接口编程是程序设计中比较难以掌握的部分,关键在于能否理解面向接口的设计思想。枚举是将对象的所有值一一列举出来,使用枚举能够提高程序的可读性。Java中的枚举不仅仅表示出常量,而且常量本身还可以有属性值,枚举类中还可以定义方法。人民邮电出版社谢谢观赏Java程序设计海量图书方便查询免费申请样书下载配套资源优惠购书成为作者更多样书申请和资源

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论