- 1、本文档共7页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
接口_知识点
主要内容:
什么是接口
接口定义语法
接口的实现
接口使用
一个实际例子:Collection接口
接口
接口概念
接口是数据类型.
类是数据类型。使用具体类的名字可以定义类的引用型变量,可以创建对象。对于抽象类,虽然不能创建对象,但是可以定义类的引用型变量。在java语言中还有另一种数据类型,它比抽象类还抽象,这就是接口。
接口构造.
接口由一组抽象方法构成。在设计一个接口时需要指出接口中每个方法的结果类型,方法名,形参表,这些信息都出现在接口定义中。同时还要指出每个方法的功能。方法的功能是用自然语言描述的,当然不能出现在接口的形式定义中,但是这些功能是接口的一部分,是一种约定(contract),所有实现和使用接口的人都必须遵守的约定。
接口与类的比较.
类有域(数据成员)和方法(成员函数),在类的外部可以访问的域和方法构成类的约定,它是类的设计者承诺要完成的工作。一个具体类实现了类的全部约定,而一个抽象类只实现了部分约定。接口也规定了一种约定,但是它完全没有实现这个约定。从这个意义上说,接口是完全没有实现的,最抽象的类。
接口定义语法.
[接口修饰符] interface 接口名 [extends 接口1,…,接口n] 接口体
这里
接口修饰符是public和abstract之一。public修饰符表示该接口可以被任何人使用。abstract修饰符已经被废弃,因为所有接口都隐含地被定义成abstract。如果没有接口修饰符,表示该接口是包可访问的。
Interface是java保留字,指示正在定义一个接口。
接口名是一个标识符。
[extends 接口1,…,接口n] 是任选的,表示正在定义的接口继承了接口1,…,接口n,这些接口称为新定义接口的超接口,新定义的接口称为每个超接口的子接口。新定义的接口包含超接口的所有方法。java只支持类的单继承,但是支持接口的多继承。所有的类有一个祖先类Object,但是接口没有一个所有接口的共同祖先。
接口体含有域和方法。
所有的域都隐含地定义为public,static,final的,因此不建议使用这些修饰符。
所有方法都隐含地定义为public,abstract的。因此也不建议使用这些修饰符。
例1.这个例子只是从语法上介绍接口及接口的继承。
interface Mysuper
{
void f ();
Object g ();
}
interface Mysub extends Mysuper
{
void h();
}
定义Mysuper是一个有两个抽象方法的接口。Mysub是一个继承自Mysuper的接口,它自身定义了一个方法h,从Mysuper继承了方法f和g,所以Mysub有3个方法。所有的方法都是public,abstract。由于接口定义没有访问修饰符,因此接口是包可访问的。
接口实现.
接口是在定义类时实现的。具体语法如下:
[类修饰符] class 类名 [extends 基类名] [implements 接口1 ,…, 接口n] 类体
以上是类定义的完整语法,含义是:定义一个名字为“类名”的类,它继承自“基类名”,并且实现了接口1,…, 接口n。所谓实现了某接口,指的是它的类体包含接口中所有方法的实现。如果类只是部分实现了接口中的方法,那么这个类就是抽象类,类修饰符中必须含有abstract,否则编译出错。
接口的使用.
先看一个例子.
interface 剧场
{
void 显示节目单();
void 演出();
}
interface 茶馆
{
void 显示茶叶种类();
void 售茶();
}
class X implements 剧场,茶馆{……}
显然X是带演出的茶馆类?它既可以看成茶馆,也可以看成剧场。
X p=new X(); p指向一个带演出的茶馆。
剧场 q=p; q指向一个带剧团。使用r只能访问剧团接口的方法。
茶馆 r=p; r指向一个茶馆。使用r只能访问茶馆接口的方法。
一般情况下,给定类定义并创建对象
class Sub extends Super implements K1,K2 {…..}。
Sub X=new Sub();
根据以前的知识,可以说X引用的对象是Sub类型的,也可以说这个对象是Sup类型的。因为接口是数据类型,因此也可以说:X引用的对象是K1类型的也是K2类型的。
定义接口类型的变量.接口是数据类型,因此可以定义接口类型的变量,该变量是引用类型的。但是不能定义接口类型的对象,因为接口是抽象的。
对象的引用.对于任何实现了接口K的类C,接口类型K的变量都可以引用C类型的对象。
例.假设有类定义和变量定义
class C1
您可能关注的文档
- 探究抽油机井杆管偏磨的预防(精选).doc
- 2012年一级实务真题2.doc
- 探究摩擦力大小实验及实验改进的方法(精选).doc
- 探究教学模式下物理试题的编写(精选).doc
- 探究新课标新教材的特1.doc
- 2.1空气第一课时.ppt
- 2012年一级建造师考试市政工程冲刺试题及答案(第二套).doc
- 探究班主任专业化的载体,提升班主任育德能力水平(精选).doc
- 2012年七年级上册期末测试题.doc
- 2012年七年级下册数学期末考试卷及答案.doc
- 2025年广西中考地理二轮复习:专题四+人地协调观+课件.pptx
- 2025年广西中考地理二轮复习:专题三+综合思维+课件.pptx
- 2025年中考地理一轮教材梳理:第4讲+天气与气候.pptx
- 第5讲+世界的居民课件+2025年中考地理一轮教材梳理(商务星球版).pptx
- 冀教版一年级上册数学精品教学课件 第1单元 熟悉的数与加减法 1.1.6 认识1-9 第6课时 合与分.ppt
- 2025年中考一轮道德与法治复习课件:坚持宪法至上.pptx
- 2025年河北省中考一轮道德与法治复习课件:崇尚法治精神.pptx
- 八年级下册第二单元+理解权利义务+课件-2025年吉林省中考道德与法治一轮复习.pptx
- 精品解析:湖南省娄底市2019-2020学年八年级(上)期中考试物理试题(原卷版).doc
- 2025年中考地理一轮教材梳理:第10讲+中国的疆域与人口.pptx
文档评论(0)