浅析Java程序设计中的接口

2019-10-21 08:19赵美展
科学与财富 2019年31期
关键词:Java语言接口计算机

摘 要:接口是Java语言中最为重要的概念,也是使用为广泛的功能。在软件产品的生产过程中,一直都希望它可以像硬件一样,具有面向组件、接口似的开发特点。所以,在面向对象程序设计语言中、引入了抽象编程的概念。在Java语言中,接口是实现抽象编程的关键技术。接口是Java学习中最重要的概念,可以说接口是Java的灵魂。本文将从接口的概述、接口的定义、接口的作用、接口的意义以及接口的应用等方面论述。

关键词:Java语言;接口;计算机;

一、接口的概述

接口的概念比较抽象,可以理解为接口是一系列方法和特征的集合。方法和特征是类的组成部分,如果从编程的角度而言,Java的接口可以对应Java中特定的语法结构。Java接口与Java抽象类是不一样的, 抽象类可以实现某些方法,而接口则不能。下面,从接口的概念和功能上迸一步详细述其存在的意义。

接口的概念就比如工厂模式,用工厂模式来实例化对象。工厂模式可以比喻为生产车的一个车间,利用车间生产出各种类型的车辆。现在要利用车间生产出汽车、卡车、跑车、公交车,四种车型。在工厂模式中,首先要有建设车型的一个一个标准,就是一个具体的框架类。有了框架之后,要设计出汽车、卡车、跑车、公交车四种不同的车型,在标准类的基础上添加抽象方法,通过添加汽车、卡车、跑车、公交车的抽象方法来决绝问题,添加抽象方法。有了抽象方法之后,利用具体类来实现。当中添加抽象方法的过程就是接口,利用接口来连接生产车的框架功能,和实现上产车的具体功能。

二、Java接口的定义

现实世界中的接口有USB接口,充电器接口,电脑接口。现实世界中接口的作用是链接两个物体,是起連接作用。Java中接口作用与现实世界中普通接口一样,链接不同的功能模块,实现功能与功能之间的交互。在今后的开发中接口是使用频率最高的组件。

如果一个功能中只有全局常量和抽象方法,那么我们称这个功能为接口,没有普通属性,没有普通常量,更没有构造方法,没有第三个组成部分,这就是接口的定义也相对简单。 要定义一个接口使用interface关键字完成,interface在英文中的含义就是接口的含义比较好理解。接口把方法的特征和方法的实现分割开来。这种分割,体现在接口常常代表一个角色(role),它包装与该角色相关的操作和属性,而实现这个接口的类扮演这个角色的演员(类)。一个角色(接口)可以由不同的演员(类)来演,而不同的演员(类)之间除了扮演一个共同的角色(接口)之外,并不要求有任何其他的共同之处。

三、Java语言中定义接口的意义

类所描述的是一个实体, 包含实体的状态和动作。一个实体能发出的动作由接口来定义。那么在类中对一个接口的定义,从本质上讲,跟在抽象类中定义一个接口一样,也体现着它的抽象性,即它是可以变化的。从面向对象的思想来看,要封装好变化的部分。这可能涉及到的涉及模式:模板涉及模式/命令涉及模式,在这个util类里面封装了会改变的Worker,可以理解为,util类里面有自己的算法:一部分是固定的,而另外一部分是可变的,尚学堂陈老师指出这个可变的部分就变成了一个接口,接口则是特殊的抽象类, worker可能在不同的工作环境有不同的工作方式,例如work()、onvaction()等等 。

因此在类中定义一个接口是有其必要性的,它代表着一种编程思想, 定义接口的目的是让代码有更强的可扩展性。那么为何要定义接口?以及接口有何意义呢?那么关于接口的意义可以从以下几点来进行说明:

定义接口的重要性:在Java编程,abstract class和interface是支持抽象类定义的两种机制。正是由于这两种机制的存在,才使得Java成为面向对象的编程语言;定义接口有利于代码的规范:对于一个大型项目而言,会对一些主要的接口来进行定义,或者清理一些没有必要的接口。这样做的目的一方面是为了给开发人员一个清晰的指示,告诉他们哪些业务需要实现;同时也能防止由于开发人员随意命名而导致的命名不清晰和代码混乱,影响开发效率;有利于对代码进行维护:比如你要做一个画板程序,其中里面有一个面板类,主要负责绘画功能,然后你就这样定义了这个类。可是在不久将来,现有的类不能够满足需要,然后你又要重新设计这个类,更糟糕是你可能要放弃这个类,那么其他地方可能有引用他,这样修改起来很麻烦。如果你一开始定义一个接口,把绘制功能放在接口里,然后定义类时实现这个接口,然后你只要用这个接口去引用实现它的类就行了,以后要换的话只不过是引用另一个类而已,这样就达到维护、拓展的方便性;保证代码的安全和严密:一个好的程序一定符合高内聚低耦合的特征,那么实现低耦合,定义接口是一个很好的方法,能够让系统的功能较好地实现,而不涉及任何具体的实现细节。

四、接口的作用

通过接口可以实现不相关类的相同行为,而不需要了解对象所对应的类。通过接口可以指明多个类需要实现的方法。类描述了一个实体,包括实体的状态,也包括实体可能发出的动作。接口定义了一个实体可能发出的动作。但是只是定义了这些动作的原型,没有实现,也没有任何状态信息。所以接口有点像一个规范、一个协议,是一个抽象的概念;而类则是实现了这个协议,满足了这个规范的具体实体,是一个具体的概念。接口会出现,关键的原因应该是Java中向上转型的出现,因为向上转型,子类中有一些父类中不存在的方法便不能继续调用了。这样就很麻烦,我们需要子类中的方法,但是这下该怎么办呢?

第一种在父类中加子类的方法。但是,这个方法在父类中其实真的没有必要,方法函数体都不需要。所以会用抽象方法,这样就有了抽象方法的诞生。可是就算这样了,问题还是没有解决,因为真的太麻烦了,如果有其他的子类要继承父类,也难免会有向上转型的时候。于是就有了第二种方法,接口便诞生了,这也解释了为什么接口中都是抽象的方法!所以有了接口,子类中需要的方法,但是父类中没有的方法可以直接用接口来完成,在多人合作完成一项工程的时候也更加的方便。从程序角度,简单理解,接口就是函数声明,类就是函数实现。需要注意的是同一个声明可能有很多种实现。

五、接口的实际应用

电脑上可以使用U盘、打印机、MP3。这些设备都是连接到USB接口上的。要实现U盘、打印机、MP3在电脑上可以运行使用的代码,首先要分析怎么把U盘、打印机、MP3连接到电脑上。电脑、U盘、打印机、MP3都是类,分别写出这些类的实现。所有的代码要进行开发,一定要首先开发出USB接口标准。因为有了标准后,电脑才可以使用这些标准,设备厂商才可以设计USB设备。通过USB接口实现类与类之间的连接。并通过连接电脑来实现其功能。

六、总结

接口的出现意义在于改变了编程方法,决绝了Java语言单继承问题,接口通过多继承方式实现了接口之间的多重继承。 接口起到了连接不同功能模块的作用,在Java编程中,接口是最常使用的连接方式。在实现接口时,除非实现了接口的类是抽象类,否则该类要定义接口中的所有方法。接口无法被实例化,但是可以被实现。一个实现接口的类,必须实现接口内所描述的所有方法,否则就必须声明为抽象类。另外,在 Java 中,接口类型可用来声明一个变量,他们可以成为一个空指针,或是被绑定在一个以此接口实现的对象。在未来的开发过程中接口是最常用的连接组件,实现具体功能。

参考文献:

[1]杰克逊·埃尔森.Java接口的全面应用.北京邮电出版社[M].2017.09.

作者简介:

赵美展(1997年1月),籍贯:汉族,学历:本科,单位职称:助教,研究放向:Java方向.

猜你喜欢
Java语言接口计算机
计算机操作系统
信息系统审计中计算机审计的应用
某电站工程设计管理与施工、质量控制接口关系研究
基于Android平台的健康医疗APP设计与开发
西门子SPPA—T3000在委内瑞拉燃机电厂中的应用与接口
计算机软件开发中的JAVA编程语言分析
用户隐私保护之手机密码保险箱
中俄网络语言编码接口问题的研究
Fresnel衍射的计算机模拟演示