接口 订阅
接口泛指实体把自己提供给外界的一种抽象化物(可以为另一实体),用以由内部操作分离出外部沟通方法,使其能被内部修改而不影响外界其他实体与其交互的方式。人类与电脑等信息机器或人类与程序之间的接口称为用户界面。电脑等信息机器硬件组件间的接口叫硬件接口。电脑等信息机器软件组件间的接口叫软件接口。在计算机中,接口是计算机系统中两个独立的部件进行信息交换的共享边界。这种交换可以发生在计算机软、硬件,外部设备或进行操作的人之间,也可以是它们的结合。 展开全文
接口泛指实体把自己提供给外界的一种抽象化物(可以为另一实体),用以由内部操作分离出外部沟通方法,使其能被内部修改而不影响外界其他实体与其交互的方式。人类与电脑等信息机器或人类与程序之间的接口称为用户界面。电脑等信息机器硬件组件间的接口叫硬件接口。电脑等信息机器软件组件间的接口叫软件接口。在计算机中,接口是计算机系统中两个独立的部件进行信息交换的共享边界。这种交换可以发生在计算机软、硬件,外部设备或进行操作的人之间,也可以是它们的结合。
信息
拼    音
jiē kǒu
IT释义
两个不同系统(或子程序)交接并通过它彼此作用的部分
分    类
硬件接口,软件接口
中文名
接口
功    能
沟通媒介
外文名
interface
接口词目
接口
收起全文
精华内容
下载资源
问答
  • 接口测试工具Postman接口测试图文教程

    万次阅读 多人点赞 2018-07-11 13:10:03
    市场上有很多优秀的,完善的接口测试工具,比如SoapUI,Postman等,能够高效的帮助后端开发人员独立进行接口测试。这里使用Postman接口测试工具,此处以请求方式为POST的userLogin登录接口为例。

    目录

    一、前言

    二、Postman安装和使用

    三、请求方式

    四、资金记录接口实例演示


    一、前言

        在前后端分离开发时,后端工作人员完成系统接口开发后,需要与前端人员对接,测试调试接口,验证接口的正确性可用性。而这要求前端开发进度和后端进度保持基本一致,任何一方的进度跟不上,都无法及时完成功能模块的测试。
        做为后端开发人员,要求独立开发完成某个接口后,开发人员自己需要先测试通过后再提交给测试人员进行测试,否则会出现到测试人员哪里业务流程根本就走不通,或者BUG会过多的情况等。
        市场上有很多优秀的,完善的接口测试工具,比如SoapUI,Postman等,能够高效的帮助后端开发人员独立进行接口测试。这里使用Postman接口测试工具,此处以请求方式为POST的userLogin登录接口为例。

    二、Postman安装和使用

        1、这个直接去官网下载即可,我们使用免费版即可满足基本接口测试,根据个人或者公司的项目实际情况考虑是否需要专业版或者其他。
     
    免费版官网链接:https://www.getpostman.com/postman
    下载好的安装程序Postman-Win64-xxx-Setup.exe,双击安装即可。建议安装在非系统盘,即C盘在外的其他盘,另建议使用全英文路径,避免使用中文路径。
     
        2、打开Postman如下图2-1,可以关闭该页面跳过注册账户,非登陆状态下该工具可以直接使用。接下来出现引导页面,类似IDEA,Android Studio等开发工具的引导页。此处关闭即可。
    图2-1注册账户图
     
    图2-2项目创建引导图

    3、进入Postman主页面并创建项目接口集合

        这里是我之前用过,所以左侧文件栏存在几个已有的文件夹。
        选择功能菜单New下的Collection创建项目接口集合。新建一个亿的项目A hundred million,可在Description部分写一下项目描述。

    图2-3Postman主页面
     
    图2-4新建项目接口集合图

    4、创建项目模块文件夹

        一般项目会分多个管理模块或者功能模块进行开发。这里可根据项目具体情况创建子文件夹方便接口管理。此处在A hundred million项目右键创建资产管理assets文件夹、user用户管理文件夹。可将测试的接口实例保存在对于管理模块下。

    图2-5新建资产管理文件夹

    5、后台登录接口演示

        开发完成后台接口,编写正确严谨的逻辑代码处理前端请求。此处登录接口代码如下,运行后台开发项目,使该接口能够访问。接口请求路径为:http://localhost:8080/manage/app/user/login

    @Controller
    @RequestMapping("/manage/app/")
    @Scope("prototype")
    public class AppUserController {
    
       /**
        * 日志
        */
    public static Logger customFile = LoggerFactory.getLogger("manageCustomFile");
    
    @Resource
    private AppUserService appUserService;
    
        /**
         * 用户登录
         * @param baseResult
         * @return
         */
        @RequestMapping(value = "user/login" , produces = "application/json;charset=UTF-8", method = RequestMethod.POST)
        @ResponseBody
        public BaseResult loginUser(@RequestBody BaseResult baseResult) {
            customFile.info("appId:"+ baseResult.getTreasureID()+ "用户登陆访问:" + baseResult.toString());
            return appUserService.loginUser(baseResult);
        }
    }

    6、新建接口测试

        在Postman主页面Content部分点击'+'按钮,新增一个接口测试。在图2-6所示第一部分填写接口请求路径,左侧下拉列表可选择请求方式,此处选择POST请求方式。接口请求路径为http://localhost:8080/manage/app/user/login。第二部分是请求体,即包含接口所需请求参数的Body,此处选择原始数据RAW,数据类型使用JSON数据作为请求数据。点击蓝色Send按钮发送请求,后台项目接口接收请求并响应返回执行结果。此处后台处理数据返回结果仍是JSON数据,这个看实际项目而定,此处仅做演示。第三部分是接口响应体,即接口响应请求处理并返回的数据。点击Pretty自动匹配接口返回的数据格式并对数据美化显示,使数据看起来更加直观。如果接口测试出现异常,则可以通过PreView视图查看浏览器响应接口的页面信息,也可以通过Header了解请求状态等参数。一般出现异常还是直接去后台看控制台的异常信息及项目日志来处理解决异常,再进行接口测试。

    图2-6接口测试图

        接口测试通过后,可Ctrl+S保存接口测试实例,填写接口测试名称和接口描述信息,选择要保存的路径,此处保存在user用户管理模块文件夹。当项目的接口全部测试通过后,可在A hundred million项目右键Export导出接口文档,保存为JSON接口测试文件,该文件可通过Postman导入查看。

    三、请求方式

        对于后台开发的接口,请求方式肯定不止POST一种,Postman也支持多种请求方式。在新建接口测试实例时可选择接口的请求方式,如图3-1。

    图3-1接口请求方式图

        请求类型可以模拟Form表单文本提交,Form表单文件提交,raw原始数据提交,二进制文件提交。对于原始数据类型raw还支持不同文件格式,包括JSON,TXT,HTML等多种文件格式。

    图3-2数据请求类型图

     

    四、资金记录接口实例演示

        后台开发接口如下,服务器部署运行后台项目。接口请求路径为:http://localhost:8080/manage/app/user/asset/withdrawRecord

    @Controller
    @RequestMapping("/manage/app/")
    @Scope("prototype")
    public class AppUserAssetController {
     
        /**
         * 日志
         */
        public static Logger customFile = LoggerFactory.getLogger("manageCustomFile");
    
        @Resource
        private AppUserAssetService appUserAssetService;
        
        /**
         * 获取提现记录
         * 即我的页面中的资金记录
         * @param baseResult
         * @return
         */
        @RequestMapping(value = "user/asset/withdrawRecord" , produces = "application/json;charset=UTF-8", method = RequestMethod.POST)
        @ResponseBody
        public BaseResult getUserWithdrawRecord(@RequestBody BaseResult baseResult){
            customFile.info( "appId:"+ baseResult.getTreasureID() + "用户提现记录获取"+baseResult.toString());
            return appUserAssetService.getUserWithdrawRecord(baseResult);
        }
    }

    新建资金接口测试
    请求方式为POST,
    请求URL为http://localhost:8080/manage/app/user/asset/withdrawRecord
    请求体为JSON类型的原始数据
    点击Send请求接口,接口响应请求处理返回结果如图3-3所示


    图3-3资金记录接口测试图
     
    展开全文
  • 接口

    万次阅读 2019-04-23 20:38:20
    1.接口 定义接口:interface关键字 子接口可以继承多个父接口 接口只能继承接口,不能继承类 接口的修饰符只能是public或者省略 接口的成员只能是public访问权限 在接口中定义成员变量时,必须用public static ...

    1.接口

    • 定义接口:interface关键字
    • 子接口可以继承多个父接口
    • 接口只能继承接口,不能继承类
    • 接口的修饰符只能是public或者省略
    • 接口的成员只能是public访问权限
    • 在接口中定义成员变量时,必须用public static final 修饰符
    • 接口里不能包含构造器和初始化块,但可以包含成员变量(只能是静态常量)、方法(只能是抽象实例方法、类方法、或默认方法)、内部类(包括内部接口、枚举)定义
    • 接口里的普通方法不能有方法体,默认使用public abstract 修饰,但是类方法、默认方法都必须有方法体
    • 接口中的默认方法默认使用public default 修饰,而默认方法需要使用接口的实现类的实例来调用,接口本身不能调用这些方法
    • 类方法默认使用 public static 修饰,类方法可以直接使用接口来调用

    2.接口

    • 接口可以当成一个特殊的类,一个Java源文件中同样只能有一个public接口如果Java源文件中定义了一个public接口,则该源文件名必须与接口名相同
    • 接口的继承:一个接口可以继承多个父接口(extends),多个父接口之间用 英文“,” 隔开
    • 类继承接口时,使用implements关键词,同样实现的多个接口之间用英文“,”隔开
    • 类继承接口时必须实现接口里的所有抽象方法,或者保留为自己的抽象方法,那么这个类也要定义为抽象类
    • 接口与抽象类,接口是一种规范,而抽象类则是一个中间产品,它没有实现所有方法
    展开全文
  • 免费开放接口API

    万次阅读 多人点赞 2017-11-19 12:41:43
    为了方便各类开发者,现提供免费开放Api接口,所有接口均无使用限制,返回格式全是JSON,所以基本能满足大家的开发需求,但请各位不要将这些Api接入正式项目,因为有一些不稳定因素,目前服务器购买时长是三年,如果...

    为了方便各类开发者,现提供免费开放Api接口,所有接口均无使用限制,返回格式全是JSON,所以基本能满足大家的开发需求,但请各位不要将这些Api接入正式项目,因为有一些不稳定因素,目前服务器购买时长是三年,如果到期,我会自动续费,这些Api是我平时业余时间编写,可能有些不能满足需求的情况,请大家在留言区提出来,或者大家写Demo需要一些有关联的数据等等,都可以在留言区告诉我,我有时间一定会给大家处理。

    
    api.apiopen.top
    
    json.apiopen.top
    
    

    目前接口列表:

    • 新实时段子

    https://api.apiopen.top/getJoke?page=1&count=2&type=video

    • 通过Id查段子

    https://api.apiopen.top/getSingleJoke?sid=28654780

    • 快递查询:

    https://api.apiopen.top/EmailSearch?number=1012002

    • 随机单句诗词推荐:

    https://api.apiopen.top/singlePoetry

    • 随机一首诗词推荐:

    https://api.apiopen.top/recommendPoetry

    • 搜索古诗词:

    https://api.apiopen.top/searchPoetry?name=古风二首%20二

    • 搜索古诗词作者:

    https://api.apiopen.top/searchAuthors?name=李白

    • 模糊搜索古诗词(可搜索诗词名、诗词内容、诗词作者):

    https://api.apiopen.top/likePoetry?name=李白

    • 获取宋朝古诗词:

    https://api.apiopen.top/getSongPoetry?page=1&count=20

    • 获取唐朝古诗词:

    https://api.apiopen.top/getTangPoetry?page=1&count=20

    • 音乐搜索接口:

    https://api.apiopen.top/searchMusic?name=不要说话

    • 音乐电台接口:

    https://api.apiopen.top/musicBroadcasting

    • 音乐电台详情接口:

    https://api.apiopen.top/musicBroadcastingDetails?channelname=public_tuijian_spring

    • 音乐详情接口:

    https://api.apiopen.top/musicDetails?id=604392760

    • 音乐排行榜接口:

    https://api.apiopen.top/musicRankings

    • 音乐排行榜详情接口:

    https://api.apiopen.top/musicRankingsDetails?type=1

    • 每日视频推荐接口:

    https://api.apiopen.top/todayVideo

    • 视频大纲获取接口:

    https://api.apiopen.top/videoHomeTab

    • 视频分类推荐接口:

    https://api.apiopen.top/videoCategory

    • 视频分类推荐接口:

    https://api.apiopen.top/videoCategoryDetails?id=14

    • 根据ID推荐接口:

    https://api.apiopen.top/videoRecommend?id=127398

    • 新闻接口:

    https://www.apiopen.top/journalismApi

    • 随机推荐热门段子(包含文字、图片、GIF、视频):

    https://www.apiopen.top/satinApi?type=1&page=1

    • 随机推荐热门段子【神评版本】(包含文字、图片、GIF、视频):

    https://www.apiopen.top/satinGodApi?type=1&page=1

    • 随机推荐热门段子【神评版本】评论列表:

    https://www.apiopen.top/satinCommentApi?id=27610708&page=1

    • 热门小说推荐列表

    https://www.apiopen.top/novelApi

    • 小说搜索接口

    https://www.apiopen.top/novelSearchApi?name=盗墓笔记

    • 小说详情接口

    https://www.apiopen.top/novelInfoApi?name=盗墓笔记

    • 天气获取接口

    https://www.apiopen.top/weatherApi?city=成都

    • 美图获取接口

    https://www.apiopen.top/meituApi?page=1

    • 个性网名获取接口

    https://www.apiopen.top/femaleNameApi?page=1

    • 创建应用接口

    https://www.apiopen.top/createUserKey?appId=com.chat.peakchao&passwd=123456

    • 增加统计信息接口

    https://www.apiopen.top/addStatistics?appKey=00d91e8e0cca2b76f515926a36db68f5&type=点击统计&typeId=1&count=2

    • 查询统计信息接口

    https://www.apiopen.top/findStatistics?appKey=00d91e8e0cca2b76f515926a36db68f5

    • 用户注册接口

    https://www.apiopen.top/createUser?key=00d91e8e0cca2b76f515926a36db68f5&phone=13594347817&passwd=123654

    • 用户登陆接口

    https://www.apiopen.top/login?key=00d91e8e0cca2b76f515926a36db68f5&phone=13594347817&passwd=123456

    由于数据来源于网络,如有侵权,请告知,我将立即删除。

    还没写完,现在赶项目,有时间了继续完善。

    展开全文
  • JAVA基础——接口(全网最详细教程)

    万次阅读 多人点赞 2018-05-10 09:46:42
    Java基础——接口 接口概念 官方解释:Java接口是一系列方法的声明,是一些方法特征的集合,一个接口只有方法的特征没有方法的实现,因此这些方法可以在不同的地方被不同的类实现,而这些实现可以具有不同的...

                                       Java基础——接口


     

     

    接口概念


        官方解释:Java接口是一系列方法的声明,是一些方法特征的集合,一个接口只有方法的特征没有方法的实现,因此这些方法可以在不同的地方被不同的类实现,而这些实现可以具有不同的行为(功能)

        我的解释:接口可以理解为一种特殊的类,里面全部是由全局常量公共的抽象方法所组成。接口是解决Java无法使用多继承的一种手段,但是接口在实际中更多的作用是制定标准的。或者我们可以直接把接口理解为100%的抽象类,既接口中的方法必须全部是抽象方法。(JDK1.8之前可以这样理解)

     

    接口的特点


        就像一个类一样,一个接口也能够拥有方法和属性,但是在接口中声明的方法默认是抽象的。(即只有方法标识符,而没有方法体)。

     

    • 接口指明了一个类必须要做什么和不能做什么,相当于类的蓝图。
    • 一个接口就是描述一种能力,比如“运动员”也可以作为一个接口,并且任何实现“运动员”接口的类都必须有能力实现奔跑这个动作(或者implement move()方法),所以接口的作用就是告诉类,你要实现我这种接口代表的功能,你就必须实现某些方法,我才能承认你确实拥有该接口代表的某种能力。
    • 如果一个类实现了一个接口中要求的所有的方法,然而没有提供方法体而仅仅只有方法标识,那么这个类一定是一个抽象类。(必须记住:抽象方法只能存在于抽象类或者接口中,但抽象类中却能存在非抽象方法,即有方法体的方法。接口是百分之百的抽象类
    • 一个JAVA库中接口的例子是:Comparator 接口,这个接口代表了“能够进行比较”这种能力,任何类只要实现了这个Comparator接口的话,这个类也具备了“比较”这种能力,那么就可以用来进行排序操作了。

    为什么要用接口


    1.     接口被用来描述一种抽象。
    2. 因为Java不像C++一样支持多继承,所以Java可以通过实现接口来弥补这个局限
    3. 接口也被用来实现解耦。
    4. 接口被用来实现抽象,而抽象类也被用来实现抽象,为什么一定要用接口呢?接口和抽象类之间又有什么区别呢?原因是抽象类内部可能包含非final的变量,但是在接口中存在的变量一定是final,public,static的。

     

     

     

    接口的语法实现


        为了声明一个接口,我们使用interface这个关键字,在接口中的所有方法都必须只声明方法标识,而不要去声明具体的方法体,因为具体的方法体的实现是由继承该接口的类来去实现的,因此,接口并不用管具体的实现。接口中的属性默认为Public Static Final.一个类实现这个接口必须实现这个接口中定义的所有的抽象方法。

        一个简单的接口就像这样:拥有全局变量和抽象方法。

        为了实现这个接口,我们使用implements关键词去实现接口:

    其中testClass类实现了我们上面刚才定义的 in1 这个接口,既然你要实现接口,也就是实现接口代表的一种能力,那么你就必须去实现接口给你规定的方法,只有把接口给你规定的抽象方法都给实现了,才承认你这个类实现了这个接口,实现了这个接口代表的某种功能。上图实现了接口中规定的display()方法。

        写一个测试类,用来测试一下我们刚才实现的这个接口,因为testclass类的对象t实现了接口规定的display方法,那么自然而然就可以调用display()方法咯。

        有兴趣的同学可以去这个在线IDE亲自试一试:点击打开链接

     

     

    接口的进一步理解


     

        我们知道,如果某个设备需要向电脑中读取或者写入某些东西,这些设备一般都是采用USB方式与电脑连接的,我们发现,只要带有USB功能的设备就可以插入电脑中使用了,那么我们可以认为USB就是一种功能,这种功能能够做出很多的事情(实现很多的方法),其实USB就可以看做是一种标准,一种接口,只要实现了USB标准的设备我就认为你已经拥有了USB这种功能。(因为你实现了我USB标准中规定的方法),下面是具体的例子:

     

    先声明USB接口:其中规定了要实现USB接口就必须实现接口规定实现的read( )和write( )这两个方法。

    interface USB {
       
    void read();

       
    void write();
    }

    然后在写一个U盘类和一个键盘类,这两个类都去实现USB接口。(实现其中的方法)

    class YouPan implements USB {

        @Override

        public void read() {

            System.out.println("U盘正在通过USB功能读取数据");

        }

        @Override

        public void write() {

            System.out.println("U盘正在通过USB功能写入数据");

        }

    }

     

     

    这是U盘的具体实现。

    class JianPan implements USB {

        @Override

        public void read() {

            System.out.println("键盘正在通过USB功能读取数据");

        }

        @Override

        public void write() {

            System.out.println("键盘正在通过USB功能写入数据");

        }

    }

     

     

    这是键盘的具体实现。

        那么,现在U盘和键盘都实现了USB功能,也就是说U盘和键盘都能够调用USB接口中规定的方法,并且他们实现的方式都不一样。

    我们在写一个测试,来看看具体的实现:

    public class Main {

        public static void main(String[] args) {

            //生成一个实现可USB接口(标准)的U盘对象

            YouPan youPan = new YouPan();

            //调用U盘的read( )方法读取数据

            youPan.read();

            //调用U盘的write( )方法写入数据

            youPan.write();

            //生成一个实现可USB接口(标准)的键盘对象

            JianPan jianPan = new JianPan();

            //调用键盘的read( )方法读取数据

            jianPan.read();

            //调用键盘的write( )方法写入数据

            jianPan.write();

        }

    }

     

     

     

    结果如下:

     

     

        感兴趣的同学可以去在线IDE平台自己验证一下:点击打开链接

     

     

    关于接口的几个重点


    1. 我们不能直接去实例化一个接口,因为接口中的方法都是抽象的,是没有方法体的,这样怎么可能产生具体的实例呢?但是,我们可以使用接口类型的引用指向一个实现了该接口的对象,并且可以调用这个接口中的方法。因此,上图中最后的方法调用我们还可以这样写:(实际上就是使用了Java中多态的特性)

    public class Main {

        public static void main(String[] args) {

            //生成一个实现可USB接口(标准)的U盘对象

            //但是使用一个接口引用指向对象

            //USB接口类引用可以指向一个实现了USB接口的对象

            USB youPan = new YouPan();

            //调用U盘的read( )方法读取数据

            youPan.read();

            //调用U盘的write( )方法写入数据

            youPan.write();

            //生成一个实现可USB接口(标准)的键盘对象

            //但是使用一个接口引用指向对象

            //USB接口类引用可以指向一个实现了USB接口的对象

            USB jianPan = new JianPan();

            //调用键盘的read( )方法读取数据

            jianPan.read();

            //调用键盘的write( )方法写入数据

            jianPan.write();

        }

    }                                                                                                                                     

     

     2.一个类可以实现不止一个接口。

     

    3.一个接口可以继承于另一个接口,或者另一些接口,接口也可以继承,并且可以多继承

    4.一个类如果要实现某个接口的话,那么它必须要实现这个接口中的所有方法。

    5.接口中所有的方法都是抽象的和public的,所有的属性都是public,static,final的。

    6.接口用来弥补类无法实现多继承的局限。

    7.接口也可以用来实现解耦。

    接口的通俗理解


     

        前面我们讲多态的时候用“空调”——“遥控器”的方式去理解多态,实际上在上面的的几个重点中的第一条讲的也是多态的实现,比如,我们可以把“节能”作为一种标准,或者说节能就是一个“接口”,这个接口中有一个方法,叫做变频方法,任何空调,如果要称得上叫做节能空调的话,那么必须实现“节能”这个接口,实现“节能”这个接口,也就必须实现“节能”接口中规定实现的“变频”方法,这样才算是真正的实现了“节能”这个接口,实现了“节能”这个功能。

        当某个空调实现了“节能”接口后,这个空调就具备了节能的功能,那么我们也可以不用空调类的引用指向空调对象,我们可以直接使用一个“节能”接口类型引用的“遥控器”去指向“空调”,虽然这个“遥控器”上面只有一个按键,只有一个“变频”的方法,但是“遥控器”所指向的空调是实现了“节能”这个接口的,是有“变频”方法的实现的,我们用这个只有一个“变频”方法的遥控器去命令空调调用“变频”方法,也是行得通的,实在不清楚的同学可以去看我的另一篇文章:JAVA之对象的多态性

     

     

    接口的标识用法


        虽然接口内部定义了一些抽象方法,但是并不是所有的接口内部都必须要有方法,比如Seriallizable接口,Seriallizable接口的作用是使对象能够“序列化”,但是Seriallizable接口中却没有任何内容,也就是说,如果有一个类需要实现“序列化”的功能,则这个类必须去实现Seriallizable接口,但是却并不用实现方法(因为接口中没有方法),此时,这个Serilizable接口就仅仅是一个“标识”接口,是用来标志一个类的,标志这个类具有这个“序列化”功能。具体的实现请参考我的另一篇文章——JAVA之IO流。

     

    接口在生活中的思想体现


    其实,在我们的生活当中,有很多地方都体现了“接口”的思想,想必,正在阅读这篇博文的你,是不是也喜欢摄影呢?

    佳能(Canon)EOS 80D 单反相机 单反套机(EF-S 18-200mm f/3.5-5.6 IS 单反镜头)

    玩摄影的童鞋都知道,单反由相机镜头组成,相机分不同的型号,有半画幅的,也有全画幅的。镜头也是一样的,分长焦,短焦;还有定焦和变焦。每种镜头都有各自特定的发挥场景正是因为镜头的多元化,使得我们的摄影能够“术业有专攻”。大家想一想,如果我们的单反相机部分和镜头部分是固定在一起的,不能够更换镜头,那么将会多么的糟糕啊!

    因此,每个相机品牌为了能够兼容不同的镜头,各自发布了一套镜头卡口的标准,这套标准就好比我们前面提到的“接口”,都是某种“约束”。举个栗子,我们佳能的相机,不管你是哪一家镜头生产厂商,腾龙也好,适马也好,只要你按照我佳能卡口的标准来生产镜头,你生产的镜头都能够很好的在我佳能相机上面驱动。

    因此,当我们打开“狗东”,准备给自己的新相机买镜头的时候,就不难发现,我们需要根据自己相机的品牌来挑选特定卡口的镜头,这样的镜头才能被我们的相机正常驱动。

    回到Java上面来说,其实接口给我们带来的最大的好处就是“解耦”了,相机能够搭配不同的镜头,才能有各种各样的搭配玩法,变得更加的灵活。在软件系统中也是一样的,接口可以有很多不同“特色”的实现类,我们只需要声明同一个接口,却可以引用很多个该“接口”引申出来的“子类”,这不也大大增强了我们软件系统中组件的灵活性吗?

    聪明的你,对于“接口”的理解是不是又更加的深入了呢?

     

    参考资料


    1.Java开发实战经典》 李兴华著  清华大学出版社

    2.https://www.geeksforgeeks.org/interfaces-in-java  作者:Mehak Kumar. and Nitsdheerendra.   翻译:刘扬俊

     

    博客文章版权说明


    第一条 本博客文章仅代表作者本人的观点,不保证文章等内容的有效性。

    第二条 本博客部分内容转载于合作站点或摘录于部分书籍,但都会注明作/译者和原出处。如有不妥之处,敬请指出。

    第三条 征得本博客作者同意的情况下,本博客的作品允许非盈利性引用,并请注明出处:“作者:____转载自____”字样,以尊重作者的劳动成果。版权归原作/译者所有。未经允许,严禁转载

    第四条 对非法转载者,“扬俊的小屋”和作/译者保留采用法律手段追究的权利

    第五条 本博客之声明以及其修改权、更新权及最终解释权均属“扬俊的小屋”。

    第六条 以上声明的解释权归扬俊的小屋所有。

     

    展开全文
  • 接口测试

    万次阅读 2020-06-02 12:55:06
    接口就是内部模块对模块,外部系统对其他服务提供的一种可调用或者连接的能力的标准,就好比usb接口,他是系统向外接提供的一种用于物理数据传输的一个接口,当然仅仅是一个接口是不能进行传输的,我们还的对这个...
  • 对于中间操作和终端操作的定义,请看《JAVA8 stream接口 中间操作和终端操作》,这篇主要讲述的是stream的count,anyMatch,allMatch,noneMatch操作,我们先看下函数的定义 long count(); boolean anyMatch...
  • 接口测试入门

    万次阅读 2020-06-02 15:26:39
    说起接口测试,网上有很多例子,但是当初做为新手的我来说,看了不不知道他们说的什么,觉得接口测试,好高大上。认为学会了接口测试就能屌丝逆袭,走上人生巅峰,迎娶白富美。因此学了点开发知识后,发现接口测试...
  • B站视频发布接口分析 目录 获取登录Cookies preupload预上传 step1 准备上传视频 step2 分批上传视频 step3 通知上传完毕 轮询获取视频封面 选择推荐分区 选择推荐标签 预发布 发布视频 完整代码 获取...
  • 接口测试工具Postman使用实践

    万次阅读 多人点赞 2017-12-05 16:18:55
    接口测试工具Postman使用实践本次chat内容包括: 接口的定义 接口的分类 为何要进行接口测试 接口文档示例 Postman工具简介 借助Postman完成HTTP请求接口测试 Postman + Newman + Jenkins 实现接口自动化测试 一、...
  • java web开发(二) 接口开发

    万次阅读 多人点赞 2016-06-03 16:50:34
    今天这篇文章主要讲解的就是接口开发,打算使用比较古老的或者说比较原始方法实现的接口。 一.数据库设计。 假设要做一个简单的学生信息管理系统,数据库名为students_manage,并且先设计一张学生表,表名为...
  • 什么是接口测试?怎样做接口测试?

    万次阅读 多人点赞 2018-08-20 11:17:31
    1.什么是接口? 2.接口都有哪些类型? 3.接口的本质是什么? 4.什么是接口测试? 5.问什么要做接口测试? 6.怎样做接口测试? 7.接口测测试点是什么? 8.接口测试都要掌握哪些知识? 9.其他相关知识? 1....
  • 接口测试简介以及接口测试用例设计思路

    万次阅读 多人点赞 2018-09-07 11:50:27
    接口就是内部模块对模块,外部系统对其他服务提供的一种可调用或者连接的能力的标准,就好比usb接口,他是系统向外接提供的一种用于物理数据传输的一个接口,当然仅仅是一个接口是不能进行传输的,我们还的对这个...
  • SATA、mSATA、M.2、M.2(NVMe)、PCIE固态硬盘接口详解

    万次阅读 多人点赞 2019-08-03 13:38:56
    固态硬盘 概念 固态驱动器(Solid State...固态硬盘在接口的规范和定义、功能及使用方法上与普通硬盘的完全相同,在产品外形和尺寸上也完全与普通硬盘一致。被广泛应用于军事、车载、工控、视频监控、网络监控、网...
  • java调用HTTP接口(Get请求和Post请求)

    万次阅读 多人点赞 2018-09-14 16:43:27
    前提: 一个Http接口:...浏览器访问接口: java代码调用Http接口代码如下(代码中注释分为两部分:处理get请求和post请求): package com.inspur.OKHTTP...
  • 对于中间操作和终端操作的定义,请看《JAVA8 stream接口 中间操作和终端操作》,这篇主要讲述的是stream的min,max,findFirst,findAny操作,我们先看下函数的定义 Optional<T> min(Comparator<? super...
  • MIPI接口和DVP接口摄像头学习笔记

    万次阅读 2018-07-04 21:14:58
    本篇介绍摄像头接口的知识。如需转载本文,请在公众号联系我。
  • Jmeter接口测试+压力测试

    万次阅读 多人点赞 2017-05-14 14:01:50
    jmeter是apache公司基于java开发的一款开源压力测试工具,体积小,功能全,使用方便,是一个比较轻量级的测试工具,使用起来非常简单。因为jmeter是java开发的,所以运行的时候必须先要安装...其中接口测试的简单操作
  • 调用微信JS-SDK接口上传图片

    万次阅读 多人点赞 2016-05-21 12:50:35
    最近要在微信上做个问卷调查,有个上传图片功能,折腾找了半天资料,都不好弄,最终打算调用微信提供的上传图片接口,实现上传图片功能!此功能最大的好处是可以在微信服务器上暂存图片,减少本地服务器图片的缓存,...
  • 对接支付宝支付接口开发详细步骤

    万次阅读 多人点赞 2017-08-07 10:25:28
    对接支付宝支付接口,官方文档已经写的很清楚了,但是也有很多像我一样的小白,第一次对接支付宝支付接口,会有些迷茫,所以我在此写下这篇文章,给我和我一样的同学,一点思路吧。 第一步:(先要在支付宝进行操做...
  • 外部接口和内部接口区别

    万次阅读 2019-06-04 08:06:29
    例如:我们自己开发系统调用调用微信或支付宝支付接口,微信或支付宝供我们调用的接口为外部接口,外部接口需要,覆盖各种正常和异常情况。 内部接口 对自身系统提供的接口(供系统内部调用的接口) 一般为了尽早的...
  • 分布式系统的接口幂等性设计

    万次阅读 2020-08-16 02:26:47
    分布式系统的接口幂等性设计 在微服务架构下,我们在完成一个订单流程时经常遇到下面的场景: 一个订单创建接口,第一次调用超时了,然后调用方重试了一次 在订单创建时,我们需要去扣减库存,这时接口发生了...
  • 用Spring Boot开发API接口

    万次阅读 多人点赞 2018-02-15 03:02:03
    前后端分离、APP交互等,大多都是通过API接口实现的。既然要进行数据交互,那么这接口就得有讲究了:既要实用,又要优雅好看! 那么,如何写一套(个)漂亮的API接口呢? 一、返回格式 API接口要求返回...
  • 接口&接口文档

    万次阅读 2018-09-02 23:16:41
    一、接口简介 API(Application Programming Interface)即应用程序接口,可以任务是一个软件组件或一个Web服务与外界进行交互的接口,在这里接口可以和API划等号。 接口可以简单的理解为一个黑盒子,从一边输入...
  • 我的第一次WebService接口开发

    万次阅读 多人点赞 2019-05-09 16:58:09
    最近项目上需要对接WebService接口,之前从来没有用过,这次都遇见了。记录下基础的使用和我遇见的问题。 正文 概述 WebService接口百度一搜,各个介绍的都非常详细,由于刚开始没接触,看的也不是很懂。首先记住一...
  • 自动化接口测试之Postman(一篇搞定)

    万次阅读 多人点赞 2018-07-13 14:17:33
    Postman自动化接口测试 该篇文章针对已经掌握 Postman 基本用法的读者,即对接口相关概念有一定了解、已经会使用 Postman 进行模拟请求的操作。 当前环境: Window 7 - 64 Postman 版本(免费版): ...
  • 接口模板 接口文档

    万次阅读 2016-05-20 17:00:39
    接口文档 接口模板
  • Spring Boot + Token 实现接口幂等性 | 防止表单重复提交 一、概念 幂等性, 通俗的说就是一个接口, 多次发起同一个请求, 必须保证操作只能执行一次 比如: 订单接口, 不能多次创建订单 支付接口, 重复支付...
  • Hybrid混合接口

    万次阅读 多人点赞 2020-05-12 21:47:56
    hybrid接口是一种混合接口,是华为设备特有的接口 华为交换机设备默认的接口封装类型 hybrid接口同时具备access和trunk的两种功能 access接口:接PC,untagged trunk接口:接交换机,tagged(PVID:不打标记) SW1...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,265,561
精华内容 506,224
关键字:

接口