- 1、本文档共15页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第4章
接口、抽象类与包
Java程序设计与应用开发(第2版)
本节主要内容
接口
抽象类
包
Java程序设计与应用开发(第2版)
4.1 接 口
4.1.1 接口定义
接口定义使用的关键字是interface,其格式如下:
public interface InterfaceName extends I1,...,Ik //接口声明
{//接口体,其中可以包含方法声明和常量
...
}
• 接口定义由接口声明和接口体两部分组成。
在接口定义中,InterfaceName指定接口名。位于extends关键字后面
的I1,…,Ik就是被继承的接口。由一对花括号{}括起来的部分是接口体。
Java程序设计与应用开发(第2版)
• 在接口体中,方法声明的常见格式如下:
ReturnType MethodName (Parameter-List);
• 在Java接口中声明的方法,将隐式地声明为公有的(public)和抽象的
(abstract)。
• 由于接口没有为其中声明的方法提供实现,在方法声明后会需要一个
分号。
• 接口中定义的变量必须初始化 。
• 和类不同,一个Java接口可以继承多个父接口,子接口也可以对父接
口的方法和变量进行覆盖。
• Java接口和类还有一个重要的区别:在Java接口中不存在构建器。
Java程序设计与应用开发(第2版)
4.1.2 接口的实现
• Java接口中声明了一组抽象方法,它构成了实现该接口的不同类共
同遵守的约定。在类定义中可以用关键字implements来指定其实现
的接口。一个类实现某个接口,就必须为该接口中的所有方法(包括
因继承关系得到的方法)提供实现,它也可以直接引用接口中的常量。
Java程序设计与应用开发(第2版)
4.1.3 接口作为类型
• Java接口也是一种数据类型,可以在任何使用其他数据类型的地方使
用接口名来表示数据类型。我们可以用接口名来声明一个类变量、一
个方法的形参或者一个局部变量。
• 用接口名声明的引用型变量,可以指向实现该接口的任意类的对象。
Java程序设计与应用开发(第2版)
4.1.4 接口不应改变
• 一个接口声明了方法,但没有实现它们。
• 用户想修改某个接口,为其添加一个方法,这个简单的修
改可能会造成牵一发而动全身的局面:所有实现这个接口
的类都将无法工作,因为现在它们已经不再实现这个接口
了。用户要么放弃对这个接口的修改,要么连同修改所有
实现这个接口的所有类。
Java程序设计与应用开发(第2版)
4.2 抽 象 类
4.2.1 抽象方法
• 抽象方法(abstract method)在形式上就是包含abstract修
饰符的方法声明,它没有方法体,也就是没有实现方法。
抽象方法的声明格式如下:
abstract returnType abstractMethodName([paramlist]);
• 抽象方法只能出现在抽象类中。如果一个类中含有抽象方
法,那么该类也必须声明为抽象的,否则在编译时编译器
会报错。
Java程序设计与应用开发(第2版)
4.2.2 抽象类
• 定义一个抽象类需要关键字abstract,其基本格式如下:
abstract class ClassName{
...
}
• 抽象类不能被实例化,在程序中如果试图创建一个抽象类的对象,编
译时Java编译器会提示出错。
• 抽象类中最常见的成员就是抽象方法。
• 抽象类中也可以包含供所有子类共享的非抽象的成员变量和成员方法。
• 继承抽象类的非抽象子类只需要实现其中的抽象方法,对于非抽象方
法既可以直接继承,也可以重新覆盖。
Java程序设计与应用开发(第2版)
4.2.3 抽象类和接口的比较
• 抽象类在Java语言中体现了一种继承关系,要想使得继承
您可能关注的文档
- A.7 220kV母联和分段二次回路原理图集.pdf
- A1单凤儒--渤海大学--整合及创新.pdf
- 模糊聚类算法分析和程序实现.pdf
- a7基于多特征高光谱遥感图像分类方法.pdf
- 模糊聚类在教学评估中应用.pdf
- A0589_SINAMICS S120书本型进线模块预充电回路与接线方式介绍.pdf
- ABB AC500 PLC-AC500 CPU及ABB ACS800变频器RPBA-01适配器的PROFIBUS-DP通讯.pdf
- abstract class与interface有什么区别.doc
- access笔试题(6篇 数据访问页).doc
- ACCESS常用的窗体查询方法和实例.doc
- 2023年江苏省镇江市润州区中考生物二模试卷+答案解析.pdf
- 2023年江苏省徐州市邳州市运河中学中考生物二模试卷+答案解析.pdf
- 2023年江苏省苏州市吴中区中考冲刺数学模拟预测卷+答案解析.pdf
- 2023年江苏省南通市崇川区田家炳中学中考数学四模试卷+答案解析.pdf
- 2023年江西省吉安市中考物理模拟试卷(一)+答案解析.pdf
- 2023年江苏省泰州市海陵区九年级(下)中考三模数学试卷+答案解析.pdf
- 2023年江苏省苏州市高新二中中考数学二模试卷+答案解析.pdf
- 2023年江苏省南通市九年级数学中考复习模拟卷+答案解析.pdf
- 2023年江苏省南通市海安市九年级数学模拟卷+答案解析.pdf
- 2023年江苏省泰州市靖江外国语学校中考数学一调试卷+答案解析.pdf
最近下载
- 篮球进校园方案.pdf VIP
- CESA--2023-105《算力服务可信性评估规范》.pdf
- 部编版四年级语文上册《精卫填海》教材分析及相关素材.docx VIP
- 2024年共青团知识自测题库及答案.pdf VIP
- 环环相扣PPT立体图表.ppt
- 2024-2025学年八年级英语上学期期中考试(上海卷)(含解析)(牛津上海版).pdf VIP
- 药学专业知识一.pdf
- 湖北省武汉市洪山高级中学2024-2025学年高一上学期9月考试化学试卷.docx VIP
- 2024年公共卫生与预防医学继续教育平台“大学习”活动线上培训栏目考试题库(1392题).docx
- 地方标准审评工作细则.pdf VIP
文档评论(0)