接口VS API VS公共类

时间:2020-06-24 14:11:34

标签: java oop interface public

我对这三个术语的含义和区别有些困惑。

  1. 接口
  2. API
  3. 公共课

我之前问过API和Public类之间是否有区别。这是问题: Public methods vs public APIs

我明白了,但是现在有了新概念 Interface ,我又对接口和API与Public类之间的区别感到困惑,因此,为了更清楚一点,让我们看一下这句话:

信息隐藏使开发人员可以分别处理模块,而无需其他开发人员知道他们正在处理的模块的实现细节。而是通过其接口使用该模块。

接口在这里是什么意思?和公共课一样吗?

1 个答案:

答案 0 :(得分:3)

这些术语造成混淆的一个主要原因是,它们是Java中的关键字,并且在普遍的,与语言无关的上下文中具有含义。这些术语在一般编程环境中的含义与Java中特定关键字的含义略有不同。

通常,术语接口抽象同义。当您阅读“对接口编程”时,它表示对抽象进行编程。在Java中,interface关键字指示一种特定类型的无状态抽象,与abstract class形成对比。通常,这两个都是抽象的,因此都是编程接口。

通常,术语 public 表示开发团队外部的客户可见和使用的任何代码部分。在Java中,public关键字指示类和成员之间的特定访问级别。由于客户也可以查看和使用protected成员,因此在编程的一般情况下,也可以将这些成员视为 public 。有效的Java使用 exported 术语来组合publicprotected成员。请注意,在Java 9+中,可以使用模块来控制访问,因此即使public类也可能无法导出,因此从一般意义上讲可能不是 public

术语 API 不是Java关键字,因此至少我们没有针对特定语言的歧义。它通常用于表示公共API ,与导出的API 同义。它是您(开发人员)允许客户查看和使用的所有内容的总和。有时,术语内部API 用来表示相反的含义:您不允许客户端查看或使用的类和成员。