Java接口的作用_动力节点Java学院整理
作者:mrr 发布时间:2021-12-23 20:46:14
1. 接口是一种规范
很好,你已经知道接口是一种规范了!
下面这张图是我们生活中遇到的接口:电源插座接口。
2. 为什么需要规范呢?
因为有了接口规范:
• 任何电器只有有符合规范的插头,就可以获得电力
• 任何厂家(西门子插座,TCL插座,公牛插座...)按照规范进行制作,就能进行供电
每个厂家插座的生产技术、工艺都不一样,因为接口的implementation可以不一样,但是并不影响电器的正常工作。插座的内部实现对于电器来说是完全屏蔽的。
对于软件开发同样也是类似的:
• 按照接口规范进行方法调用,就能获得所期望的功能
• 按照接口规范实现接口的的方法,就能提供所期望的功能
接下来是重点了:
• 软件开发大多是一个协作性的工作:电器和插座分别是不同人完成的,有了接口大家就能分头开干,都按照接口来办事,各自做完就能轻松地整合到一起。各部分的测试也更加方便。
• 软件需要不断演化:今天你用了公牛的插座,过了一年你可能换个西门子的插座,要做没有这套国家接口标准,各自为政,那估计你是换不了插座了。你想想,咱们每次去美国出差,都得带个转接头,否则就跪了,多不方便啊,因为接口规范不同啊!(这些个转接头你是不是闻道一种浓浓的Adapter模式的味道)。
3. 什么时候需要通过接口建立规范
为了抽象系统的某种公共行为,或者封装变化性,进行系统设计的时候你需要抽取出接口,这样将来你的系统将更加灵活。而你所说的,直接写实现的方式在确定性的场景下当然也可以,不涉及到分工协作、变化性、测试方便等因素时,当然用不着接口了。比如一般情况下你犯不着为一个Pojo的getter和setter也弄个接口和实现分离。所以面向对象的大神们孜孜不倦地教导我们说:接口和实现分离,面向接口编程。
以上所述是小编给大家介绍的Java接口的作用_动力节点Java学院整理网站的支持!


猜你喜欢
- 目录1、创建 Android 库2、上传aar包至Maven * 3、其他项目使用4、QA1、创建 Android 库按以下步骤在项目中创建新
- smoothstep另一种用法在之前OpenGL Shader-抗锯齿实现文章中所介绍的那样:为了抗锯齿效果可以用smoothstep函数对
- 了解YMP框架YMP于2014年10月25日正式发布1.0版本,在此之前就已在实际项目中得到广泛使用,从最初仅限团队内部使用,到合作伙伴的开
- maven-compiler-plugin编译Java源码,一般只需设置编译的jdk版本<plugin> <g
- 前言在 Java 中,跳转的实现方式有两种:请求转发和请求重定向,但二者是完全不同的,所以我们今天就来盘它。请求转发和请求重定向主要区别,包
- 目录Profile用法resourcesfilters多环境配置解决方案Profile用法我们在application.yml中为jdbc.
- 本文实例讲述了C#实现两个时间相减的方法。分享给大家供大家参考。具体实现方法如下:using System; using Sys
- 编写上位机与下位机通信的时候,涉及到协议的转换,比较多会使用到二进制。传统的方法,是将数据整体获取到byte数组中,然后逐字节对数据进行解析
- 自己定义的栈的接口,完全是按照栈的常用方法以及命名方式实现: 注意以下类,接口都是在一个命名空间下栈的接口:包括了常用的方法namespac
- Java类加载基本过程详细介绍基本过程:根据类的全限定名称加载定义类的二进制字节流。将字节流代表的静态存储结构转化为方法区的运行时数据结构内
- Visual Studio 2022 默认.net framework4.8,而4.6~4.7版本的.net framework可以通过方法
- 前言面向切面编程,利用 AOP 可以对业务逻辑的各个部分进行隔离,从而使得业务逻辑各部分之间的耦合度降低,提高程序的可重用性,同时提高了开发
- C语言实现矩阵翻转 上下翻转与左右翻转实例代码:#include <stdio.h> void matrix (int m, i
- Android选择图片的两种方式:第一种:单张选取通过隐式启动activity,跳转到相册选择一张返回结果关键代码如下:发送请求:priva
- Java 用反射设置对象的属性值实例详解/** * 用反射设置对象的属性值 * @param obj 需要設置值的對象 * @param f
- 一:SparkSQL1.SparkSQL简介Spark SQL是Spark的一个模块,用于处理结构化的数据,它提供了一个数据抽象DataFr
- 本文实例讲述了Android编程实现给Button添加图片和文字的方法。分享给大家供大家参考,具体如下://为按钮添加图片和文字的方法pub
- 本文实例讲述了Android编程判断当前应用是否在后台运行的方法。分享给大家供大家参考,具体如下:/** 判断程序是否在后台运行 */pub
- 在工作上,我最近对一个现有的Java项目代码进行了清理。完成之后,我发现了一些反复出现的不规范代码。所以,我把它们整理成了一个列表出来分享给
- 前言插入排序狭义上指的是简单插入排序(选择集合,比较大小,插入元素),广义上还应该包括希尔排序(分治思想)及其两种实现方式,最激动人心的是