4.3 Java 接口

Java接口作为契约集合,提供了强大的程序设计机制,允许在不定义类的情况下定义类型。接口仅包含抽象方法,强调接口与实现分离,提高程序的可维护性。接口支持多继承,但无法直接实现代码重用且一旦定义不能轻易修改。Java8引入的新特性对原有接口设计产生影响。
摘要由CSDN通过智能技术生成

《编程导论(Java)·4.3 Java接口》

随着Java8的出现,本节面临尴尬的局面。这里首先按照原有的Java语言设计思路(Java8之前)介绍Java接口,再看看Java8对Java语言设计思路的破坏。


强大而有用的机制

【p142:类甚至是abstract class,理论上都包含实现,因此类是接口和实现的综合体,如[3.1.3 接口与实现分离]所述。如果说抽象方法是纯粹的接口、脱离了实现的接口,那么Java接口就是这些纯粹的接口组成的数据抽象。Java接口只能够拥有抽象方法,它不涉及任何实现,也不能创建其对象(这一点和抽象类一致)。因此,Java接口纯粹是契约的集合,是一种程序设计的表达方式。从数据抽象的角度看,能够在不定义class的同时又可以定义type,将是程序设计中强大而有用的机制。】

按照接口与实现分离原则,用户仅需要了解接口。每一个抽象方法都是一个纯粹的接口,它不得不与实现相分离。抽象方法是功能抽象的最高形式。在抽象方法的基础上,有了abstract class——类层次的元素,它理论上是接口和实现的综合体;而Java接口纯粹是契约的集合,它以跨越类层次的方式定义type,是一种程序设计中强大而有用的机制。

【p144

接口具有下述性质。
(1)接口不提供代码重用性。接口并不能使你获得代码继承的好处,它没有代码重用能力。接口的意义在于获得程序设计上的高度可维护性。
(2)接口能够通过多继承进行扩展父接口。Java支持接口多继承。interface A extends B, C, D{

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值