首页 百科知识 接口的定义

接口的定义

时间:2022-04-09 百科知识 版权反馈
【摘要】:5.5.1 接口的定义接口中只能包含有名常量和没有实现的抽象方法,而不能有变量、初始化块、构造方法和方法的实现。接口定义的一般格式如下:说明:接口定义与类定义的格式非常相似,不同的是把关键字class换成interface;extends后可以有多个接口。由public修饰的接口能被任何包中接口或类访问;没用public修饰的接口只能在所在包内被访问。接口中定义的所有常量具有public、static和final属性。将动物中“叫”这种行为定义为对外接口。

5.5.1 接口的定义

接口中只能包含有名常量和没有实现的抽象方法,而不能有变量、初始化块、构造方法和方法的实现。接口定义的一般格式如下:

说明:(1)接口定义与类定义的格式非常相似,不同的是把关键字class换成interface;extends后可以有多个接口。

(2)由public修饰的接口能被任何包中接口或类访问;没用public修饰的接口只能在所在包内被访问。

(3)接口中定义的所有常量具有public、static和final属性。这些修饰符可以写出,也可以不写,即默认具有public、static和final属性。并且在定义有名常量时必须包含初始化表达式(因为接口中没有静态初始化块)。

(4)接口中的所有方法具有public、abstract属性。这些修饰符可以写出,也可以不写,即默认具有public、abstract属性。

【例5-10】 狗的叫声是“汪汪”,猫的叫声是“喵喵”,羊的叫声是“咩咩”。将动物中“叫”这种行为定义为对外接口。

【例5-11】 根据图5-4,将计算图形面积和周长的功能定义为对外接口。

【例5-12】 下面哪些是正确的接口定义?(假设X、Y和Z都是接口)

分析与思考:A)和C)正确。一个接口可以有一个或多个直接超接口。

B)不正确。接口的扩展关键字是extends,不是implements。关键字implements在类实现接口时使用。

D)不正确。接口中声明的所有方法都应该是public,不能指定为protected。

小结 类与接口的区别:

(1)一个类(Object类除外)有且只能有一个直接超类,而一个接口可以有多个直接超接口(也可以没有)。

(2)所有的类有一个共同的根类,而接口没有这样一个共同的超接口。

(3)类只能使用单继承,而接口实现了多重继承。

(4)类有变量、初始化块、构造方法和实现的方法,而接口没有变量、初始化块、构造方法和实现的方法。

(5)类(不含抽象类)可以直接创建对象,而接口不能直接创建对象。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈