温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Java接口interface的概念及使用

发布时间:2021-08-21 09:26:51 来源:亿速云 阅读:144 作者:chen 栏目:编程语言

本篇内容介绍了“Java接口interface的概念及使用”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

在抽象类中,可以包含一个或多个抽象方法;但在接口(interface)中,所有的方法必须都是抽象的,不能有方法体,它比抽象类更加“抽象”。
接口使用 interface 关键字来声明,可以看做是一种特殊的抽象类,可以指定一个类必须做什么,而不是规定它如何去做。
现实中也有很多接口的实例,比如说串口电脑硬盘,Serial ATA委员会指定了Serial ATA 2.0规范,这种规范就是接口。Serial ATA委员会不负责生产硬盘,只是指定通用的规范。
希捷、日立、三星等生产厂家会按照规范生产符合接口的硬盘,这些硬盘就可以实现通用化,如果正在用一块160G日立的串口硬盘,现在要升级了,可以购买一块320G的希捷串口硬盘,安装上去就可以继续使用了。
下面的代码可以模拟Serial ATA委员会定义以下串口硬盘接口:

//串行硬盘接口 publicinterface SataHdd{ //连接线的数量 publicstaticfinalint CONNECT_LINE=4; //写数据 publicvoidwriteData(String data); //读数据 publicString readData(); }



注意:接口中声明的成员变量默认都是 public static final 的,必须显示的初始化。因而在常量声明时可以省略这些修饰符。
接口是若干常量和抽象方法的集合,目前看来和抽象类差不多。确实如此,接口本就是从抽象类中演化而来的,因而除特别规定,接口享有和类同样的“待遇”。比如,源程序中可以定义多个类或接口,但最多只能有一个public 的类或接口,如果有则源文件必须取和public的类和接口相同的名字。和类的继承格式一样,接口之间也可以继承,子接口可以继承父接口中的常量和抽象方法并添加新的抽象方法等。
但接口有其自身的一些特性,归纳如下。
1) 接口中只能定义抽象方法,这些方法默认为 public abstract 的,因而在声明方法时可以省略这些修饰符。试图在接口中定义实例变量、非抽象的实例方法及静态方法,都是非法的。例如:

  1. 3) 接口中没有构造方法,不能被实例化。


  2. 4) 一个接口不实现另一个接口,但可以继承多个其他接口。接口的多继承特点弥补了类的单继承。例如:


    1. 修饰符 class 类名 extends 父类 implements 多个接口 {


    2. }


    3. 请看下面的例子:



      1. public class{

      2. public void test1() {

      3. a.doSth();

      4. }

      5. public static void main(String[] args) {

      6. = new Demo();

      7. = new B();

      8. d.test1(a);

      9. }

      10. }

      11. interface{

      12. public int doSth();

      13. }

      14. classimplements A {

      15. public int doSth() {

      16. System.out.println("now in B");

      17. return 123;

      18. }

      19. }

    4. 运行结果:


    5. <br  font-size:14px;line-height:22.4px;white-space:normal;background-color:#eeeeee;"="">

    6. 大家看到接口可以作为一个类型来使用,把接口作为方法的参数和返回类型。


“Java接口interface的概念及使用”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注亿速云网站,小编将为大家输出更多高质量的实用文章!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI