Java API和库有什么区别?

我知道一个API被称为一组用于调用某些东西的函数,而一个库是一个类的集合,但是像java.lang这样的包中的实际API是什么? 我可以在不使用任何API的情况下连接到类这样的类,那么为什么我们说J2SE API而不是J2SE包呢?

直接来自维基百科 :

在计算机科学中,应用程序编程接口(API)是定义应用程序可以从库请求服务的方式的接口

Java在这些包中包含许多库(Swing等), API是我们请求服务(执行操作等)的接口。

API(应用程序编程接口)是一个库从外部看起来像是使用它的程序。 它是其他程序库的“面孔”。 库的API是库中可公开访问的类,接口和方法的集合。

你写了:

我可以在不使用任何API的情况下连接到类这样的类…

这不是真的 – 类System是Java标准库中的公共类,因此它是标准Java库的API的一部分。 如果您使用的是类System,那么您正在使用标准Java库的API。

当您使用类System时,为什么认为您“没有使用任何API”?

一个快速的经验法则就是:库是java类的集合,通常但不一定位于jar文件中,这些类的所有公共方法构成该库的API

(代码越干净,您就越依赖此规则;))

API是Java类和接口的非空集合的逻辑表示 (添加注释和枚举)。

库(作为JAR Java库)是API的一个,多个或部分的部署单元

一般来说,两者之间没有一对一或多对一的关联,因为它们的关注点本质上是正交的:API涉及逻辑和function ; 库关注部署

涵盖这些关系的优秀资源是OOD的Robert Martin原则 – 寻找最后6个包装原则。

API,库和框架是相关的,令人困惑的术语。

API:图书馆的抽象,提供图书馆的抽象视图,它将提供图书馆中的内容以及我们如何访问它们以供使用。 它还可以提供关于库中实现的组件的function和关系的分类和描述。

库:实际实现和准备使用的组件集

框架:它可能是库的一部分,或者有时可能使用多个库来提供特定类别的服务。

资料来源:阅读一些书籍和网络资料后我的理解。

只是为了重申我认为其他人更简短的说法:

库是一种集合类,通常以一致的方式组织和打包以促进重用。

API是您访问库(或任何类集)的方式。

在面向对象的编程中,类库是预先编写的类或编码模板的集合,程序员在开发应用程序时可以指定和使用其中的任何一个。 你可以在各种项目中使用一个库。 框架是模式和库的集合,有助于构建应用程序。 API是其他程序与您的程序交互而无需直接访问的接口。

package包含有限数量的类和接口,其中API包含“MORE”类和接口。但它不是java接口。

api是开发需要的类集合,而库是ex.suppose的api的一部分,你需要通信api,但是你只需要串行通信,所以串口通信类的集合是库,通信类的集合是api

Api是JDK中所有类的列表。它们包括所有Java包,类和接口,以及它们的方法,字段和构造函数。

java包是一种将java类组织成命名空间的技术,类似于Modular的模块,在java包中提供模块化编程可以在压缩文件中称为JAR文件,允许类作为组快速下载而不是单独下载。