java接口作用是什么?
接口是一种规范软件开发大多是一个协作性的工作:电器和插座分别是不同人完成的,有了接口大家就能分头开干,都按照接口来办事,各自做完就能轻松地整合到一起。各部分的测试也更加方便。接口在开发过程中可以快速分离工作内容。比如调用者在写业务逻辑的时候需要一个功能,可能是数据库访问,或者复杂计算,但是他的工作专注于实现业务逻辑,不想分开精力去做底层实现,那么他只需要先实现一个接口,定义了规范,然后就可以继续他的业务逻辑代码了。而实现者可以根据这个接口规范,做具体的实现。这样通过使用接口就可以快速的分离工作内容,达到团队并行工作的目的。扩展资料:功能在Java语言规范中,一个方法的特征仅包括方法的名字,参数的数目和种类,而不包括方法的返回类型,参数的名字以及所抛出来的异常。在Java编译器检查方法的重载时,会根据这些条件判断两个方法是否是重载方法。但在Java编译器检查方法的置换时,则会进一步检查两个方法(分处超类型和子类型)的返还类型和抛出的异常是否相同。接口实现和类继承的规则不同,为了数据的安全,继承时一个类只有一个直接父类,也就是单继承,但是一个类可以实现多个接口,接口弥补了类的不能多继承缺点,继承和接口的双重设计既保持了类的数据安全也变相实现了多继承。Java接口本身没有任何实现,因为Java接口不涉及表象,而只描述public行为,所以Java接口比Java抽象类更抽象化。但是接口不是类,不能使用new 运算符实例化一个接口。参考资料:百度百科-Java接口
什么是lighting接口?
Lighting前身:特立独行的30pin接口苹果的30pin接口虽然比较的大,不过却具备了充电、高速数据传输、音频输出、控制台等功能,同时在这个九年时间的演变当中苹果陆续加入了高清视频输出、照片OTG等功能,让苹果的接口功能大大超过Micro-USB。但是传统的30-pin接口也正在逐渐落后。其中最主要的缺点就是占用了大量的空间。在iFixit的拆解当中苹果的30-pin接口占据了大量的空间,这个缺点终于在iPhone 5上进行了改革。苹果开始启用全新的8pin Lighting接口。
简单来说,苹果的Lighting接口三大特点。第一个是减少体积,Lighting的正反两侧都有8个触点,每一个触点的功能都由数字芯片定义,大大缩小了底部的空间。苹果官方宣布新接口减少了80%的体积。
第二个特点就是正反两面全通用,不分正反面,这样的话可以方便使用者。之前的30-pin接口非常难分辨正反面,插入的时候如果方向不对还容易对整个卡槽造成物理损伤。这个设定相信所有的苹果用户都会举双手欢迎。
第三个特点就是容易清洁。新街口的触点旁边会有一个小小的凹槽,弧度比较的低。同时新材质的应用让接口容易保持清洁, 由于新接口在插拔的时候内部的一个弹片需要滑动接触,因此在清洁方面也比之前的30-pin接口有优势。
苹果的产品固然优秀,不过这个8pin的接口也不是没有缺点的。其中最让人诟病的就是不兼容现有的30-pin配件,这个直接导致所有外设厂商都需要根据新接口进行重新的设计,同时外设厂商还是根据现有的设备进行适配,对于外设厂商来说无疑是个噩梦。
另外多名iPhone 5用户反映,Lighting接口的插拔并不顺畅,并没有之前30pin接口好用。这一切的一切都在考验苹果的新型标准。
另外Lightning 接口还有一个缺点就是不支持模拟信号的音频输出,Lighting接口只支持数字信号输出,因此音箱厂商推出专门支持 iPhone 5 或新款 iPod 的音箱的话,那么也必须完全采用数字信号,或者必须在音箱中集成一个”数模转换器“,
不过话说回来了,你确定Ipad mini有足够的功率能把外置硬盘带起来么?
什么是接口?
主板接口基础知识
CPU与外部设备、存储器的连接和数据交换都需要通过接口设备来实现,前者被称为I/O接口,而后者则被称为存储器接口。存储器通常在CPU的同步控制下工作,接口电路比较简单;而I/O设备品种繁多,其相应的接口电路也各不相同,因此,习惯上说到接口只是指I/O接口。
一、I/0接口的概念
1、接口的分类
I/O接口的功能是负责实现CPU通过系统总线把I/O电路和 外围设备联系在一起,按照电路和设备的复杂程度,I/O接口的硬件主要分为两大类:
(1)I/O接口芯片
这些芯片大都是集成电路,通过CPU输入不同的命令和参数,并控制相关的I/O电路和简单的外设作相应的操作,常见的接口芯片如定时/计数器、中断控制器、DMA控制器、并行接口等。
(2)I/O接口控制卡
有若干个集成电路按一定的逻辑组成为一个部件,或者直接与CPU同在主板上,或是一个插件插在系统总线插槽上。
按照接口的连接对象来分,又可以将他们分为串行接口、并行接口、键盘接口和磁盘接口等。
2、接口的功能
由于计算机的外围设备品种繁多,几乎都采用了机电传动设备,因此,CPU在与I/O设备进行数据交换时存在以下问题:
速度不匹配:I/O设备的工作速度要比CPU慢许多,而且由于种类的不 同,他们之间的速度差异也很大,例如硬盘的传输速度就要比打印机快出很多。
时序不匹配:各个I/O设备都有自己的定时控制电路,以自己的速度传 输数据,无法与CPU的时序取得统一。
信息格式不匹配:不同的I/O设备存储和处理信息的格式不同,例如可以分为串行和并行两种;也可以分为二进制格式、ACSII编码和BCD编码等。
信息类型不匹配:不同I/O设备采用的信号类型不同,有些是数字信号,而 有些是模拟信号,因此所采用的处理方式也不同。
基于以上原因,CPU与外设之间的数据交换必须通过接口来完成,通常接口有以下一些功能:
(1)设置数据的寄存、缓冲逻辑,以适应CPU与外设之间的速度差异,接口通常由一些寄存器或RAM芯片组成,如果芯片足够大还可以实现批量数据的传输;
(2)能够进行信息格式的转换,例如串行和并行的转换;
(3)能够协调CPU和外设两者在信息的类型和电平的差异,如电平转换驱动器、数/模或模/数转换器等;
(4)协调时序差异;
(5)地址译码和设备选择功能;
(6)设置中断和DMA控制逻辑,以保证在中断和DMA允许的情况下产生中断和DMA请求信号,并在接受到中断和DMA应答之后完成中断处理和DMA传输。
3、接口的控制方式
CPU通过接口对外设进行控制的方式有以下几种:
(1)程序查询方式
这种方式下,CPU通过I/O指令询问指定外设当前的状态,如果外设准备就绪,则进行数据的输入或输出,否则CPU等待,循环查询。
这种方式的优点是结构简单,只需要少量的硬件电路即可,缺点是由于CPU的速度远远高于外设,因此通常处于等待状态,工作效率很低
(2)中断处理方式
在这种方式下,CPU不再被动等待,而是可以执行其他程序,一旦外设为数据交换准备就绪,可以向CPU提出服务请求,CPU如果响应该请求,便暂时停止当前程序的执行,转去执行与该请求对应的服务程序,完成后,再继续执行原来被中断的程序。
中断处理方式的优点是显而易见的,它不但为CPU省去了查询外设状态和等待外设就绪所花费的时间,提高了CPU的工作效率,还满足了外设的实时要求。但需要为每个I/O设备分配一个中断请求号和相应的中断服务程序,此外还需要一个中断控制器(I/O接口芯片)管理I/O设备提出的中断请求,例如设置中断屏蔽、中断请求优先级等。
此外,中断处理方式的缺点是每传送一个字符都要进行中断,启动中断控制器,还要保留和恢复现场以便能继续原程序的执行,花费的工作量很大,这样如果需要大量数据交换,系统的性能会很低。
(3)DMA(直接存储器存取)传送方式
DMA最明显的一个特点是它不是用软件而是采用一个专门的控制器来控制内存与外设之间的数据交流,无须CPU介入,大大提高CPU的工作效率。
在进行DMA数据传送之前,DMA控制器会向CPU申请总线控制 权,CPU如果允许,则将控制权交出,因此,在数据交换时,总线控制权由DMA控制器掌握,在传输结束后,DMA控制器将总线控制权交还给CPU。
二、常见接口
1、并行接口
目前,计算机中的并行接口主要作为打印机端口,接口使用的不再是36针接头而是25针D形接头。所谓“并行”,是指8位数据同时通过并行线进行传送,这样数据传送速度大大提高,但并行传送的线路长度受到限制,因为长度增加,干扰就会增加,容易出错。
现在有五种常见的并口:4位、8位、半8位、EPP和ECP,大多数PC机配有4位或8位的并口,许多利用Intel386芯片组的便携机配有EPP口,支持全部IEEE1284并口规格的计算机配有ECP并口。
标准并行口4位、8位、半8位:4位口一次只能输入4位数据,但可以输出8位数据;8位口可以一次输入和输出8位数据;半8位也可以。
EPP口(增强并行口):由Intel等公司开发,允许8位双向数据传送,可以连接各种非打印机设备,如扫描仪、LAN适配器、磁盘驱动器和CDROM 驱动器等。
ECP口(扩展并行口):由Microsoft、HP公司开发,能支持命令周期、数据周期和多个逻辑设备寻址,在多任务环境下可以使用DMA(直接存储器 访问)。
目前几乎所有的586机的主板都集成了并行口插座,标注为 Paralle1或LPT1,是一个26针的双排针插座。
2、串行接口
计算机的另一种标准接口是串行口,现在的PC机一般至少有两个串行口COM1和COM2。串行口不同于并行口之处在于它的数据和控制信息是一位接一位串行地传送下去。这样,虽然速度会慢一些,但传送距离较并行口更长,因此长距离的通信应使用串行口。通常COM1使用的是9针D形连接器,而COM2有些使 用的是老式的DB25针连接器。
3、磁盘接口
(1)IDE接口
IDE接口也叫做ATA端口,只可以接两个容量不超过528M的硬盘驱动器,接口的成本很低,因此在386、486时期非常流行。但大多数IDE接口不支持DMA数据传送,只能使用标准的PCI/O端口指令来传送所有的命令、状态、数据。几乎所有的586主板上都集成了两个40针的双排针IDE接口插座,分别标注为IDE1和IDE2。
(2)EIDE接口
EIDE接口较IDE接口有了很大改进,是目前最流行的接口。首先,它所支持的外设不再是2个而是4个了,所支持的设备除了硬盘,还包括CD-ROM驱动器磁盘备份设备等。其次,EIDE标准取消了528MB的限制,代之以8GP限制。第三,EIDE有更高的数据传送速率,支持PIO模式3和模式4标准。
4、SCSI接口
SCSI(SmallComputerSystemInterface)小计算机系统接口,在做图形处理和网络服务的计算机中被广泛采用SCSI接口的硬盘。除了硬盘以外,SCSI接口还可以连接CD-ROM驱动器、扫描仪和打印机等,它具有以下特点:
可同时连接7个外设;
总线配置为并行8位、16位或32位;
允许最大硬盘空间为8.4GB(有些已达到9.09GB);
更高的数据传输速率,IDE是2MB每秒,SCSI通常可以达到5MB每秒,FASTSCSI(SCSI-2)能达到10MB每秒,最新的SCSI-3甚至能够达到40MB每秒,而EIDE最高只能达到16.6MB每秒;
成本较IDE和EIDE接口高很多,而且,SCSI接口硬盘必须和SCSI接口卡配合使用,SCSI接口卡也比IED和EIDE接口贵很多。
SCSI接口是智能化的,可以彼此通信而不增加CPU的负担。在IDE和EIDE设备之间传输数据时,CPU必须介入,而SCSI设备在数据传输过程中起主动作用,并能在SCSI总线内部具体执行,直至完成再通知CPU。
5、USB接口
最新的USB串行接口标准是由Microsoft、Intel、Compaq、IBM等大公司共同推出,它提供机箱外的热即插即用连接,用户在连接外设时不用再打开机箱、关闭电源,而是采用“级联”方式,每个USB设备用一个USB插头连接到一个外设的USB插座上,而其本身又提供一个USB插座给下一个USB设备使用,通过 这种方式的连接,一个USB控制器可以连接多达127个外设,而每个外设间的距离可达5米。USB统一的4针圆形插头将取代机箱后的众多的串/并口(鼠标、MODEM)键盘等插头。USB能智能识别USB链上外围设备的插入或拆卸。 除了能够连接键盘、鼠标等,USB还可以连接ISDN、电话系统、数字音响、打印机以及扫描仪等低速外设。
三、I/O扩展槽
I/O扩展槽即I/O信号传输的路径,是系统总线的延伸,可以插入任意的标准选件,如显示卡、解压卡、MODEM卡和声卡等。通过I/O扩展槽,CPU可对连接到该通道的所有I/O接口芯片和控制卡寻址访问,进行读写。
根据总线的类型不同,主板上的扩展槽可分为ISA、EISA、MAC、VESA和PCI几种。
(1)ISA插槽
黑色,分为8位、16位两种。16位的扩展槽可以插8位和16位的控制卡,但8位的扩展槽只能插8位卡。
(2)EISA插槽
棕色,外型、长度与16位的ISA卡一样,但深度较大,可插入ISA与EISA控制卡。
(3)VESA插槽
棕色,位于16位ISA扩展插槽的下方,与ISA插槽配合使用。
(4)PCI插槽
白色,与VESA插槽一样长,与ISA插槽平行,不需要与ISA插槽配合使用,而且只能插入PCI控制卡。由于主板的空间有限,PCI插槽要占用ISA插槽的位置
参考资料:http://www.caiblog.com/289/eleccomm2000/55789.shtml
JAVA:什么是接口,它的主要作用是什么?
java接口是一系列方法的声明,是一些方法特征的集合,一个接口只有方法的特征没有方法的实现,因此这些方法可以在不同的地方被不同的类实现,而这些实现可以具有不同的行为(功能)。
1、两种含义:一,Java接口,Java语言中存在的结构,有特定的语法和结构;二,一个类所具有的方法的特征集合,是一种逻辑上的抽象。前者叫做“Java接口”,后者叫做“接口”。
2、接口实现和类继承的规则不同,为了数据的安全,继承时一个类只有一个直接父类,也就是单继承,但是一个类可以实现多个接口,接口弥补了类的不能多继承缺点,继承和接口的双重设计既保持了类的数据安全也变相实现了多继承。
3、Java接口本身没有任何实现,因为Java接口不涉及表象,而只描述public行为,所以Java接口比Java抽象类更抽象化。但是接口不是类,不能使用new 运算符实例化一个接口。如 x=new comparable(......);//这个是错误来的。但是可以声明接口变量Comparable x; //这是允许的。
4、Java接口的方法只能是抽象的和公开的,Java接口不能有构造器,Java接口可以有public、静态的和final属性。即接口中的属性可以定义为 public static final int value=5;
5、这种分割体现在接口常常代表一个角色,它包装与该角色相关的操作和属性,而实现这个接口的类便是扮演这个角色的演员。一个角色由不同的演员来演,而不同的演员之间除了扮演一个共同的角色之外,并不要求其它的共同之处。
6、范例
定义接口格式:
[public]interface 接口名称 [extends父接口名列表]
{
//静态常量
[public] [static] [final] 数据类型变量名=常量值;
//抽象方法
[public] [abstract] [native] 返回值类型方法名(参数列表);
}
实现接口格式:
[修饰符] class 类名[extends 父类名] [implements 接口A,接口B,···]
{
类成员变量和成员方法;
为接口A中的所有方法编写方法体,实现接口A;
为接口B中的所有方法编写方法体,实现接口B;
}
java中什么是接口?接口的作用是什么?
java接口:1、Java语言中存在的结构,有特定的语法和结构。2、Java语言中一个类所具有的方法的特征集合,是一种逻辑上的抽象。java接口作用:1、利于代码的规范这样做的目的一方面是为了给开发人员一个清晰的指示,告诉他们哪些业务需要实现;同时也能防止由于开发人员随意命名而导致的命名不清晰和代码混乱,影响开发效率。2、有利于对代码进行维护可以一开始定义一个接口,把功能菜单放在接口里,然后定义类时实现这个接口,以后要换的话只不过是引用另一个类而已,这样就达到维护、拓展的方便性。3、保证代码的安全和严密一个好的程序一定符合高内聚低耦合的特征,能够让系统的功能较好地实现,而不涉及任何具体的实现细节。这样就比较安全、严密一些,这一思想一般在软件开发中较为常见。扩展资料:关于java接口的使用规范:1、接口中可以定义常量,不能定义变量,接口中的属性都是全局静态常量,接口中的常量必须在定义时指定初始值。2、 接口中所有的方法都是抽象方法,接口中方法都会自动用public abstract 修饰,即接口中只有全局抽象方法。3、 接口不能实例化,接口中不能有构造。4、 接口之间可以通过extends实现继承关系,一个接口可以继承多个接口,但接口不能继承类。5、 接口的实现类必须实现接口的全部方法,否则必须定义为抽象类。参考资料来源:百度百科:java接口