到底什么是API

写在开头

前几天和同事讨论一个问题的时候,扯到了API,同事认为API指的是接口,也就是说我们当时正在讨论的一个普通类不能算API,当时我感觉很有问题,但是又一下子无法表达,无法反驳,遂不再说话,但是心里依旧惦记着这一回事儿,原因是,明明自己知道什么是API,却没办法表达出来,也没办法反驳,这显然在告诉自己:你这个弱鸡。
为了锻炼自己的表达能力,并且整理一下自己的弱项,决定开始写博客。
于是乎,整理了一下思路,把自己对API的理解写成第一篇博客,希望有了这个开头,以后可以多写点博客,成为某艿那样的一代大佬。

要想代码写得好,基础理论少不了。

什么是API?

首先,接百度说一下话:
API(Application Programming Interface,应用程序接口)是一些预先定义的函数,或指软件系统不同组成部分衔接的约定。 [1] 目的是提供应用程序与开发人员基于某软件或硬件得以访问一组例程的能力,而又无需访问原码,或理解内部工作机制的细节。

这里看着似乎有一个很熟悉的关键词:Interface,看起来似乎很熟悉,这不就是JAVA里的接口么?那么,API在JAVA中就是指接口么?
仔细想想,API的概念,似乎并不是争对JAVA的,我们常常可以听到的Restful API,就是一个例子,然而,Restful只是一个风格,是基于HTTP,哪里来的接口呢?可能又有人说,不同的场景API含义是不一样的,不过这也恰恰说明了JAVA语言中的API怕是并不是指的接口。

再来说说JAVA中的API到底指什么?以下就是个人的一些看法了。
首先,我们把JDK的API叫做原生API,其实指的是java开发/运行环境自带的rt.jar程序包下的那些可以调用的程序代码,在这个包下不单单有接口,还有各种各样的类,这些个代码统称为JAVA原生API。于是乎,我自己给API下了一个定义:API指的是那些可以提供给外部调用的程序代码、程序包或者可执行程序(web程序)的描述或者定义。

**可是这样定义以后,好像和接口八杆子打不着了?**其实也不是。首先我们想想什么是接口?接口简单来讲就是定义的一系列约束或者规则,我们从外部看黑盒,只能看到黑盒的外观,相对于黑盒的调用者来说,黑盒的外观就是接口,就是定义,所以我们依旧没有跳出API的这个I,包括Restful API在内的那些类似的东西,都可以叫做接口,也都可以叫做API。

结尾

其实回过头来想想,为什么我们谈到JAVA API会想到接口?恰好因为JAVA代码设计的时候有一个很好的方式:面向接口编程。这种编程方式让人很舒服,又深入人心,大概也是因为这一点,说到API我们总是想到接口吧。

结尾的结尾

当然了这些都是我自己YY的,可能有些地方语无伦次或者解释得不清楚,就和我开篇说的,自己的表达能力不行,也有很多不足,希望借此能得到锻炼吧

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值