动力节点口口相传的Java黄埔军校
java接口的作用和意义是什么
2019-09-12 来源:动力节点

  

今天动力节点java培训机构小编为大家介绍java接口的作用和意义是什么,希望通过此文大家能够掌握java接口的作用和意义,下面就随小编一起看看java接口的作用和意义是什么。


微信截图_20190703153336.jpg

  

  java接口的定义


  接口在JAVA编程语言中是一个抽象类型,是抽象方法的集合,接口通常以interface来声明。一个类通过继承接口的方式,从而来继承接口的抽象方法。


  接口并不是类,编写接口的方式和类很相似,但是它们属于不同的概念。类描述对象的属性和方法。接口则包含类要实现的方法。


  除非实现接口的类是抽象类,否则该类要定义接口中的所有方法。


  接口无法被实例化,但是可以被实现。一个实现接口的类,必须实现接口内所描述的所有方法,否则就必须声明为抽象类。另外,在 Java 中,接口类型可用来声明一个变量,他们可以成为一个空指针,或是被绑定在一个以此接口实现的对象。


  

  java接口的作用


  1、通过接口可以实现不相关类的相同行为,而不需要了解对象所对应的类。


  2、通过接口可以指明多个类需要实现的方法。


  3、通过接口可以了解对象的交互界面,而不需了解对象所对应的类。


  类描述了一个实体,包括实体的状态,也包括实体可能发出的动作。


  接口定义了一个实体可能发出的动作。但是只是定义了这些动作的原型,没有实现,也没有任何状态信息。


  所以接口有点象一个规范、一个协议,是一个抽象的概念;而类则是实现了这个协议,满足了这个规范的具体实体,是一个具体的概念。


  从程序角度,简单理解,接口就是函数声明,类就是函数实现。需要注意的是同一个声明可能有很多种实现。


  (1)接口中定义类方法的原型,但是不能说是空方法,因为空方法的意思是有实现体,只不过实现体是空操作。实际上接口没有定义任何实现体。具体的实现体都是在实现接口的类中,接口只是定义了这些方法的调用方式。


  (2)一个类描述了一个实体,这个实体可能是一个复杂的对象,它的动作很多,如果把这些动作分类,用接口a定义其中的某一组动作,接口b定义其中的另外一组动作,这样的结构,比较清楚。


  这种方式具备了多继承的优点,避免了多继承的缺陷。实际上在历史上,接口在很大程度上,是为了解决多继承带来的种种问题而设计出来的。


  (3)包中那些已定义的接口,怎么知道那里面定义了什么方法。


  接口里定义了方法的输入输出,这些都是协议,具体的实现都在每个类中。对于很多只需要抽象接口的地方,不需要知道具体的类是什么,只要这个类实现了这个接口就可以了。


  

  java接口的意义


  接口会出现,最关键的原因应该是Java中向上转型的出现,因为向上转型,子类中一些父类中不存在的方法(或者说不共用的方法)便不能继续调用了。这样就很麻烦,我们需要子类中的方法,但是这下该怎么办呢?


  第一种在父类中加子类的方法。但是,这个方法在父类中其实真的没有必要,方法函数体都不需要。所以会用抽象方法,这样就有了抽象方法的诞生。可是就算这样了,问题还是没有解决,因为真的太麻烦了,如果有其他的子类要继承父类,也难免会有向上转型的时候,那么,这个时候难道要一直往父类中加抽象方法么?显然不合理!


  于是就有了第二种方法,接口便诞生了,这也解释了为什么接口中都是抽象的方法!所以有了接口,子类中需要的方法,但是父类中没有的方法可以直接用接口来完成,也就不用再修改父类的方法,在多人合作完成一项工程的时候也更加的方便。


 

  java接口的使用


  两个类中的两个类似的功能,调用他们的类动态的决定一种实现,那他们提供一个抽象父类,子类分别实现父类所定义的方法。


  问题的出现:Java是一种单继承的语言,一般情况下,哪个具体类可能已经有了一个超类,解决是给它的父类加父类,或者给它父类的父类加父类,直到移动到类等级结构的最顶端。这样一来,对一个具体类的可插入性的设计,就变成了对整个等级结构中所有类的修改。


  可插入性


  在一个等级结构中的任何一个类都可以实现一个接口,这个接口会影响到此类的所有子类,但不会影响到此类的任何超类。此类将不得不实现这个接口所规定的方法,而其子类可以从此类自动继承这些方法,当然也可以选择置换掉所有的这些方法,或者其中的某一些方法,这时候,这些子类具有了可插入性(并且可以用这个接口类型装载,传递实现了他的所有子类)。


  我们关心的不是那一个具体的类,而是这个类是否实现了我们需要的接口。


  接口提供了关联以及方法调用上的可插入性,软件系统的规模越大,生命周期越长,接口使得软件系统的灵活性和可扩展性,可插入性方面得到保证。


  类型


  使用Java接口将软件单位与内部和外部耦合起来。使用Java接口不是具体的类进行变量的类型声明,方法的返还类型声明,参量的类型声明,以及数据类型的转换。


  在理想的情况下,一个具体的Java类应当只实现Java接口和抽象Java类中声明的方法,而不应当给多余方法。


  等级结构


  Java接口(以及抽象类)一般用来作为一个类型的等级结构的起点。


  如果一个类已经有了一个主要的超类型,那么通过实现一个接口,这个类可以拥有另一个次要的超类型,这种次要的超类型叫做混合类型。


timg (2).jpg


以上就是动力节点java培训机构小编介绍的“java接口的作用和意义是什么”的内容,希望对大家有帮助,更多java最新资讯请继续关注动力节点java培训机构官网,每天会有精彩内容分享与你。


相关免费视频教程推荐——java菜鸟教程下载:


java接口使项目分层代码实现:http://www.bjpowernode.com/xiazai/2567.html


java接口使项目分层描述:http://www.bjpowernode.com/xiazai/2568.html


java面向接口编程:http://www.bjpowernode.com/xiazai/2569.html


java接口的应用:http://www.bjpowernode.com/xiazai/2570.html


java接口与抽象类的异同点:http://www.bjpowernode.com/xiazai/2571.html


java接口说明:http://www.bjpowernode.com/xiazai/2572.html


java接口的定义与实现:http://www.bjpowernode.com/xiazai/2575.html


开班信息

同类文章

微信搜索“动力节点Java学院“或扫二维码

关注官方微信免费领学习资料

动力节点Java培训机构,行业口碑最好的Java培训机构。

立即抢名额