java工作中经常说写一个接口,提供一个接口,这个接口是怎么回事?

接口不是没有实现的吗,不是应该说写一个方法吗?
每次听见写一个接口总感觉很变扭

别人要你提供接口肯定是这个接口的实现类也是由你去写呀,只要接口规范,别人可以调用你的写的实现类,也可以调用别人写的实现类。

题主是没体验到接口的快感,,,

有个例子,,
接口是规范,是规矩,,按规矩办事,就能够统一处理,更方便。

 interface TV{//电视接口,具有看电视的功能
    void watchTV();
}
class HairTV implements TV{//海尔电视是电视,,那么他就必须具有看电视的功能。
    public void watchTV(){
        System.out.println("看电视,用的海尔电视");
    }
}

class Main{//我有个类需要加入看电视的功能
                TV tv =new Hair();//注意,这里,,类型是TV,,创建的实例是hair电视
            。。。。。。使用tv实例的一大串代码。
}


假如需求变更了,,,我需要换成乐视电视,,,怎么换?
【不用接口的话】,,,所有调用都得换,,
【用了接口,,只需还一个地方】

 class LeshiTV implements TV{//Leshi电视是电视,,那么他就必须具有看电视的功能。
    public void watchTV(){
        System.out.println("看电视,用的Leshi电视");
    }
}

class Main{//我有个类需要加入看电视的功能
                TV tv =new LeshiTV);//注意,这里,,类型是TV,,创建的实例是LeshiTV
            。。。。。。只需要修改上面这个创建的实例即可,,调用都不用改,很方便吧,,(学了spring的话,,上面这个实例都不用改了,)
}

这也是面向对象设计原则之一,,,【依赖倒置原则】

接口既可以是指java语法上的接口,也可以是指程序层面的调用规范。后者和语言上的接口没有关系。

刚开始我也不习惯,后来就好了,觉得这么叫还蛮好的。我们写了一个黑盒子,假设这个黑盒子具有发红包功能,做好这个黑盒子后,它怎么发红包我就不管了,我只要按接口规范(接口参数、接口地址、参数类型、返回值及其类型等)给这个黑盒子发送请求,黑盒子就能给我发红包。再结合多态,这个黑盒子还能做更多事勒,而对外部来说,仍然只要符合接口规范就行,不需要做而外的事情。

这里的接口是指合作开发,或者系统之家的调用,只要按照你写的规范把请求返回的参数获取到,怎么利用就是别人的事情了,就压根不需要考虑你程序内部怎么实现的了,反正调了你的接口,你就得给我所有的你本身具有的返回值,我需要哪些,我自己去搞,很方便

接口是常用的,比如给移动端提供接口,微服务架构接口,你也可以按你理解的定义它,只是这种叫法是大家通用的