`

(一) 接口

 
阅读更多

接口不是类,而是对类的一组需求描述,这些类要遵从接口描述的统一格式进行定义。
接口中所有方法自动地属于pubilic。因此,在接口中声明方法时,不必提供关键字public。
接口可能包含多个方法。接口中还可以定义常量。
接口中不能含有属性,也不能在接口中实现方法。提供属性和方法实现的任务应该由实现接口的那个类来完成。

为了让类实现一个接口,通常需要下面两个步骤:
1)将类声明为实现给定的接口。
2)对接口中所有方法进行定义

要将类声明为实现某个接口,需要使用关键字implements

声明接口中,没有将方法声明为public,是因为在接口中所有的方法都自动地是public,不过在实现接口时,必须把方法声明为pubic;否则,编辑器将认为这个方法的访问属性是包可见性,即类的默认访问属性,之后编译器就会给出试图提供更弱的访问权限的警告信息。

解释:让一个类使用Arrays.sort()排序方法必须让它compareTo方法,这是理所当然的,因为要向sort方法提供对象的比较方式。但是为什么不能在类中直接提供一个compareTo方法,而必须实现Comparable接口?
主要原因在与Java程序设计语言是一种强类型(strongly typed)语言,在调用方法的时候,编译器将会检查这个方法是否存在。在sort方法中可能存在下面这样的语句
if(a[i].compareTo(a[j])>0){
    //rearrange a[i] and a[j]
}
为此编译器必须确认a[i]一定有compareTo方法。如果a是一个Comparable对象的数组,就可以确保拥有compareTo方法,因为每个实现Comparable接口的类都必须提供这个方法的定义。

1.接口的特性
(1)接口不是类,不能使用new运算符实例化一个接口;
(2)可以声明接口的变量;
(3)接口变量必须引用实现了接口的类对象;
(4)可以使用instanceof检查一个对象是否实现了某个特定的接口
(5)与可以建立两类的继承关系一样,接口也可以被扩展,即通过关键字extends继承另一个接口,但不能通过implements声明为实现某个接口(接口不能实例化)
(6)接口中不包含属性或将静态方法,但却可以包含常量。与接口中的方法都自动地被设置为public一样,接口中的属性将被自动设为public static final。
注:可以因为习惯或提高清晰度的考虑将接口方法标记为public,将常量标记为public static final。但Java语言规范却建议不要书写这些多余的关键字。
(7)有些接口只定义了常量,而没有定义方法。
(8)尽管每个类都只能够拥有一个超类,但却可以实现多个接口。这就为定义类的行为提供了极大的灵活性。使用逗号将实现的各个接口分隔开。

2.接口与抽象类
Java程序设计语言为什么要因为接口概念?
每个类只能扩展与一个类。但每个类可以实现多个接口。Java不支持多继承(C++支持),其主要原因是多继承会让语言本身变得非常复杂,效率也会降低。为了避免这类问题的出现,Java语言利用接口机制来实现多继承的大部分功能。

分享到:
评论

相关推荐

    Trade.dll 交易接口和TradeX.dll行情交易二合一接口

    通过TdxTradeServer调用通达信交易接口DLL, 将请求封装为 http rest api,实现自动交易。

    Trade.dll 交易接口和TradeX.dll行情交易二合一接口大集合

    Trade.dll 交易接口。这段时间抽空把自己原先在论坛上收集的老版Trade.dll和新版TradeX.dll(行情和交易二合一)整合了一下,做成个大集合,希望那些还在到处奔波寻找的兄弟有些价值,不用整天那么麻烦了

    LPT接口打印测试

    在现代计算机中,LPT接口已经非常罕见,但某些特定场景下,如工业控制、老旧设备的兼容性等,可能还需要利用到这一接口。描述中提到的"**LPT接口共享USB命令**"是一种技术手段,通过软件模拟LPT接口,使得不支持LPT...

    一次开源解析接口,风靡影视界的K哥一次解析接口

    【一次开源解析接口:影视界的热门技术】 在影视行业中,为了获取在线视频资源,开发者们经常需要使用到解析接口。而“K哥一次解析接口”就是这样一个被广泛使用的开源项目,它利用PHP技术实现了对视频链接的一次性...

    金蝶K3 webservice接口

    【金蝶K3 webservice接口】是金蝶企业应用套件(EAS)与外部业务系统集成的关键技术,主要用于实现跨系统的数据交换,尤其是财务信息的...理解并掌握这一接口的使用,对于优化企业内部流程,提升数据处理能力至关重要。

    FMC 接口标准ANSIVITA_57.1

    **FMC 接口标准ANSI/VITA 57.1详解** FMC(FPGA Mezzanine Card)接口标准是电子设计领域中一个重要的模块化...通过阅读" FMC 接口标准ANSIVITA_57.1.pdf "文档,你可以更深入地理解这一接口标准的具体细节和应用。

    TI JTAG接口定义转换

    通过理解和掌握JTAG接口的定义及其转换方法,开发者可以更好地利用这一接口来加速软件调试过程,提高产品质量。在未来的技术发展中,JTAG接口将继续发挥重要作用,并且可能会有更多创新的转换技术出现,进一步推动...

    分析家(大智慧)DLL公式C语言接口

    总结,大智慧DLL公式C语言接口为金融分析爱好者和专业投资者提供了强大的工具,通过熟练掌握这一接口,开发者可以构建出更丰富、更个性化的股票分析模型。在实际应用中,不断学习和实践,才能充分发挥其潜力,助力...

    电信设备-一种简易通信接口.zip

    通过阅读"一种简易通信接口.pdf"文件,我们可以深入理解这一接口的具体实现细节、工作原理和实际应用案例,从而更好地掌握在电信设备中实现简易通信接口的技术要点。这份资料对于电信设备开发人员、系统集成商以及对...

    HR911105A RJ45接口资料

    《HR911105A RJ45接口详解》 ...通过深入理解其特性和应用,我们可以更好地利用这一接口,构建高效、稳定的网络通信系统。对于需要进一步了解的读者,建议详细研读提供的技术文档,以获取更全面的信息。

    调用百度网盘接口进行文件下载上传

    在IT行业中,调用API(应用程序编程接口)是常见的任务之一,特别是在云存储服务中,如百度网盘。本文将详细讲解如何利用百度网盘提供的API进行文件的上传与下载,帮助开发者集成到自己的项目中。 首先,我们需要...

    ETL工具(kettle)使用系列(五)-kettle调用restApi接口获取数据插入数据库-真实案例脱密处理

    ETL工具(kettle)使用系列(五)-kettle调用restApi接口获取数据插入数据库-真实案例脱密处理-kettle脚本

    研祥工控主板接口定义

    - **特点**:随着软盘逐渐退出市场,这一接口在现代主板上已较少见。 ##### 4. 键盘鼠标接口 - **MINI一转二PS/2接口**:允许同时连接键盘和鼠标,简化了桌面布局。 - **2×4PIN PS/2接口**:传统键盘和鼠标接口,...

    HTTP接口和WebService接口

    WebService接口,也称为SOAP(Simple Object Access Protocol)服务,是一种基于XML的协议,用于不同应用程序之间交换结构化和类型化的数据。WebService接口利用WSDL(Web Services Description Language)定义服务...

    PostMan接口参数化、接口返回值传递

    1、PostMan接口参数化操作步骤; 2、环境变量设置步骤; 3、A接口返回值例如token赋值...第一步:修改需要引用上述token值的接口参数取值,参数值value设置为{{access-token}}({{变量名}}),测试接口,正确返回即可;

    微信扫一扫接口,html调用的第三方接口实现

    通过第三方接口,调用微信的扫一扫,扫码完成后打开扫码的网站。主要用于微信环境使用。可用于公众号、网站等。

    机票接口,机票查询接口,免费机票接口

    机票接口是IT行业中一个重要的组成部分,特别是在旅游预订系统和在线旅行代理(OTA)平台中扮演着核心角色。本文将深入探讨机票接口、机票查询接口以及免费机票接口的相关知识点。 首先,我们来理解“机票接口”的...

    接口测试报告接口测试报告

    接口测试报告是软件测试过程中的一个重要环节,主要针对系统中不同组件或服务之间的交互进行验证。这份报告详细记录了接口测试的过程、工具、人员以及测试结果,以确保系统的稳定性和功能完整性。 1. **系统接口...

    OPC全部接口,包含自定义接口,自动化接口

    OPC(OLE for Process Control)是一种在工业自动化领域广泛应用的数据交换标准,它允许不同厂商的软件和硬件系统之间进行通信。这个压缩包文件包含了OPC的全部接口,包括自定义接口和自动化接口,以及一些示例,...

    中国联通IMS 接口规范 第一分册: Mw/Mg/Mi/Mj/Mk/Gm 接口

    《中国联通IMS接口规范 第一分册:Mw/Mg/Mi/Mj/Mk/Gm 接口》是中国联通制定的企业标准,旨在详细阐述中国联通IMS网络中涉及的SIP接口的定义、功能、协议以及消息参数等内容。该标准自2007年10月31日起实施,为网络...

Global site tag (gtag.js) - Google Analytics