java的接口是什么意思?接口具体能做什么?

java的接口是什么意思?接口具体能做什么?,第1张

java接口的用处主要体现在下面几个方面:
(1)通过接口可以实现不相关类的相同行为,而不需要了解对象所对应的类。
(2)通过接口可以指明多个类需要实现的方法
(3)通过接口可以了解对象的交互界面,而不需了解对象所对应的类。

类描述了一个实体,包括实体的状态,也包括实体可能发出的动作。
接口定义了一个实体可能发出的动作。但是只是定义了这些动作的原型,没有实现,也没有任何状态信息。
所以接口有点象一个规范、一个协议,是一个抽象的概念;而类则是实现了这个协议,满足了这个规范的具体实体,是一个具体的概念。
从程序角度,简单理解,接口就是函数声明,类就是函数实现。需要注意的是同一个声明可能有很多种实现。
1、接口中定义类方法的原型,但是不能说是空方法,因为空方法的意思是有实现体,只不过实现体是空 *** 作。实际上接口没有定义任何实现体。具体的实现体都是在实现接口的类中,接口只是定义了这些方法的调用方式。
你当然也可以不用接口,直接在类里面写方法,但是如果你的一组方法需要在很多类里实现,那么把它们抽象出来,做成一个接口规范,不是更好么?
2、一个类描述了一个实体,这个实体可能是一个复杂的对象,它的动作很多,如果把这些动作分类,用接口a定义其中的某一组动作,接口b定义其中的另外一组动作,这样的结构,比较清楚。
这种方式具备了多继承的优点,避免了多继承的缺陷。实际上在历史上,接口在很大程度上,是为了解决多继承带来的种种问题而设计出来的。
3、包中那些已定义的接口,怎么知道那里面定义了什么方法。
接口里定义了方法的输入输出,这些都是协议,具体的实现都在每个类中。对于很多只需要抽象接口的地方,不需要知道具体的类是什么,只要这个类实现了这个接口就可以了。

接口相当于模具,比如你有锤子和刀具的模具,就相当于你有了两个接口。但是只有模具(也就是只有接口),你是不能工作的。你是不能拿锤子的模具去钉钉子,也不能拿刀的模具去切割东西的。但是工作要用锤子和刀怎么办呢,拿来模具制作一把锤子和菜刀就可以,这就是约束和实现相分离了。但是我也不能一个刀的模具只能制作一种菜刀吧,怎么办呢,设计刀模具的时候,就要把模具 设计成可以生产多种刀的模具。这样不论你是用菜刀还是水果刀,都只用一个模具就可以了。这个接口就和这个模具差不多的作用。

java不允许多重继承,也就是说一个子类只能有一个父类, Son extends FatherA,FatherB 是错误的 为了弥补这点不足,java允许实现多个接口, 接口就是给出一些没有内容的方法,类似于C++中的虚类。到具体用的时候再由用的方法自己定义内容,要注意的是想用接口必须实现接口的所有方法。 其实是因为java不支持多继承才产生了接口 接口是用来规范类的 它可以避免类在设计上的不一致 这在多人合作的开发中犹为重要 就比如接口中有A方法 那么实现这个接口就必须实现A方法 这就形成了一种规范 也就是说,A继承了B,但却想使用C的一个方法,但又不能再继承,所以就使用了C的接口。 Java接口和Java抽象类代表的就是抽象类型,就是我们需要提出的抽象层的具体表现。OOP面向对象的编程,如果要提高程序的复用率,增加程序的可维护性,可扩展性,就必须是面向接口的编程,面向抽象的编程,正确地使用接口、抽象类这些太有用的抽象类型做为你结构层次上的顶层。 Java接口和Java抽象类有太多相似的地方,又有太多特别的地方,究竟在什么地方,才是它们的最佳位置呢?把它们比较一下,你就可以发现了。

串行接口Serial Interface是指数据一位一位地顺序传送,其特点是通信线路简单,只要一对传输线就可以实现双向通信,并可以利用电话线,从而大大降低了成本,特别适用于远距离通信,但传送速度较慢。
串行接口一条信息的各位数据被逐位按顺序传送的通讯方式称为串行通讯。串行通讯的特点是:数据位传送,传按位顺序进行,最少只需一根传输线即可完成;成本低但传送速度慢。串行通讯的距离可以从几米到几千米;根据信息的传送方向,串行通讯可以进一步分为单工、半双工和全双工三种。

是指同一计算机不同功能层之间的通信规则称为接口。
java接口作用:
1、利于代码的规范。这样做的目的一方面是为了给开发人员一个清晰的指示,告诉他们哪些业务需要实现;同时也能防止由于开发人员随意命名而导致的命名不清晰和代码混乱,影响开发效率。
2、有利于对代码进行维护。可以一开始定义一个接口,把功能菜单放在接口里,然后定义类时实现这个接口,以后要换的话只不过是引用另一个类而已,这样就达到维护、拓展的方便性。
3、保证代码的安全和严密。一个好的程序一定符合高内聚低耦合的特征,能够让系统的功能较好地实现,而不涉及任何具体的实现细节。这样就比较安全、严密一些,这一思想一般在软件开发中较为常见。

你的这些疑问大概都源于一个问题:接口到底是什么?
这个问题我也是研究了好多天才整明白的。MSDN、书上什么的都是直接写它的样子、形状、规则、像什么……等等的,就是不说它到底是个啥!不明白老外都怎么想的!
我把我自己的笔记摘一段下来:
接口,是一种约束形式,或者叫连接通路,它为不相关的类提供通用的处理服务:
1、不相关的类可以通过接口调用“接口功能类(或结构)”中的同名的方法、属性、索引器和事件;接口中只描述这些方法(或属性、索引、事件)的签名;而基于该接口的“接口功能类(或结构)”里面(是指实现接口功能的类或结构,而非调用它们的类),则是描述了这个同名的方法、属性、索引器和事件的各自不同的具体实现代码。
2、当有类或程序调用该接口所描述的方法、属性、索引器或事件(即接口成员)时,编译器会通过接口找到对应的那个”接口功能类或结构”,然后执行里面的功能代码。
3、这种通过接口的调用,到底指向哪个“接口功能类(或结构)”中的方法、属性、索引器或事件,是通过与多态性的结合来实现的。如果没有多态性相关代码绑定,接口就毫无意义。
虽然你的问题里的一/二/三没有前言后语的很难回答,不过我想,你理解了上面所描述的“接口 到底是什么”的问题以后,就都能解决了。
注:
关于“多态性绑定”的实现需要在理解了上面的内容以后,再研究一下“多态性”这个问题,就能迎刃而解了。
提示:
涉及到主系统和子系统的问题时,要根据你的程序组织结构和相关的引用(命名空间、外部类、访问域等)来具体问题具体分析。

接口是啥,接口就是:能让别人调用,并会产生一致性效果的东西!!!像C#,Java里的那些关键字,系统函数啥的都可以称为“接口”!!
接口只是为了一致性的东西!!!
你不要认为它很神性!!
它就是抽象出的一种概念而己!!!


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/13137285.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2025-08-30
下一篇2025-08-30

发表评论

登录后才能评论

评论列表(0条)

    保存