java - 需要的接口(interface)和提供的接口(interface)有什么区别

标签 java oop interface uml modeling

我大致知道:

接口(interface)是一种引用类型,它类似于一个类, 只能包含常量、方法签名、默认方法、静态方法和嵌套类型。方法体只存在于默认方法和静态方法中。接口(interface)无法实例化——它们只能由类实现或由其他接口(interface)扩展?

但是必需接口(interface)和提供接口(interface)之间有什么区别?

最佳答案

提供和需要的接口(interface)总是引用接口(interface)的概念,表示观点。

我希望下面的图表能对这个主题有所启发。

enter image description here

在实现层面上,提供的接口(interface)是由类实现的接口(interface)(在最常见的意义上,例如,类 B 实现了接口(interface) I)。 Required interface 可以是组件对接口(interface)的任何使用(例如,如果类 A 定义了一个将接口(interface) I 作为参数的方法,这意味着类 A 具有必需的接口(interface) I)。

关于java - 需要的接口(interface)和提供的接口(interface)有什么区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23456112/

相关文章:

json - 读取 map[string]interface{} 中的数据

haskell - Haskell 中的类 OO 接口(interface)实现

java - tomcat 8 中 java.awt.Rectangle 的 NoClassDefFoundError

javascript - 删除多个对象属性?

java - getText() 出现为 Null

java - 在 Java 中处理无效输入

java - 如何实现包装 SubtitleDecoderFactory.DEFAULT 的自定义 SubtitleDecoderFactory,这是一个常量实例

java - 使用 Maven (Java) 在服务器上找不到适合 jdbc :mysql, 的驱动程序

java - 错误 : java. lang.NoClassDefFoundError: org/apache/commons/collections/map/LRUMap

java - 如何指定 war 文件使用哪个 java 版本?