Java接口

1.接口的概述

         1.生活中接口,代表着一种规范,代表着一种标准,比如:usb接口,Typec接口,插排
         2.java中的接口:代表着一种行为操作的标准,共同定义了一套相关的属性和方法的集合

2.定义格式

  1.接口定义格式:定义的方式与类相似,但是使用interface关键字,不使用class
 *  public interface 接口名称{
 *     //接口的成员列表:
 *     // 公共的静态常量
 *     // 公共的抽象方法
 *     // 公共的默认方法(JDK1.8以上)
 *     // 公共的静态方法(JDK1.8以上)
 *     // 私有方法(JDK1.9以上)
 *  }
2.接口的成员列表
 *      如果是jdk1.8之前 ,那么接口中包含的内容有: *    

(1)公共的静态的常量:其中public static final可以省略

(2)公共的抽象的方法:其中public abstract可以省略
 *      如果是jdk1.8以上,增加了
 *    

(3)公共的默认的方法:其中public 可以省略,建议保留,但是default不能省略

(4)公共的静态的方法:其中public 可以省略,建议保留,但是static不能省略


 *      如果是jdk1.9以上,增加了
 *         ⑤私有方法
 *  总结: 接口,在java中是一个类型,是抽象方法的集合,通常以interface来声明,所以,一个类可以通过接口的方式,来实现相关方法
 *      类是描述对象的属性和方法.
 *      接口包含了类要实现的方法.


  3 接口的使用


 *      1.定义
 *      public class 实现类名称  implements 接口名称{
 *          ......
 *      }

接口不能直接创建对象,但是可以通过接口名直接调用接口的静态方法和静态常量。

接口不能创建对象,但是可以被类实现(implements ,类似于被继承)。

类与接口的关系为实现关系,即类实现接口,该类可以称为接口的实现类,也可以称为接口的子类。实现的动作类似继承,格式相仿,只是关键字不同,实现使用 implements关键字。

【修饰符】 class 实现类  implements 接口{
	// 重写接口中抽象方法【必须】,当然如果实现类是抽象类,那么可以不重写
  	// 重写接口中默认方法【可选】
}

【修饰符】 class 实现类 extends 父类 implements 接口{
    // 重写接口中抽象方法【必须】,当然如果实现类是抽象类,那么可以不重写
  	// 重写接口中默认方法【可选】
}

注意:

  1. 如果接口的实现类是非抽象类,那么必须重写接口中所有抽象方法。

  2. 默认方法可以选择保留,也可以重写。

    重写时,default单词就不要再写了,它只用于在接口中表示默认方法,到类中就没有默认方法的概念了

  3. 接口中的静态方法不能被继承也不能被重写

  • 对于接口的静态方法,直接使用“接口名.”进行调用即可

    • 也只能使用“接口名."进行调用,不能通过实现类的对象进行调用

  • 对于接口的抽象方法、默认方法,只能通过实现类对象才可以调用

    • 接口不能直接创建对象,只能创建实现类的对象

4、接口的多实现(implements)

之前学过,在继承体系中,一个类只能继承一个父类。而对于接口而言,一个类是可以实现多个接口的,这叫做接口的多实现。并且,一个类能继承一个父类,同时实现多个接口。

【修饰符】 class 实现类  implements 接口1,接口2,接口3。。。{
	// 重写接口中所有抽象方法【必须】,当然如果实现类是抽象类,那么可以不重写
  	// 重写接口中默认方法【可选】
}

【修饰符】 class 实现类 extends 父类 implements 接口1,接口2,接口3。。。{
    // 重写接口中所有抽象方法【必须】,当然如果实现类是抽象类,那么可以不重写
  	// 重写接口中默认方法【可选】
}

接口中,有多个抽象方法时,实现类必须重写所有抽象方法。如果抽象方法有重名的,只需要重写一次

5、接口的多继承 (extends)

一个接口能继承另一个或者多个接口,接口的继承也使用 extends 关键字,子接口继承父接口的方法。

所有父接口的抽象方法都有重写。

方法签名相同的抽象方法只需要实现一次。

public interface W19_USBc extends W02_USB,W16_Chargeable{
    //反转的方法
    public abstract  void reverse();



}

6、接口与实现类对象构成多态引用

实现类实现 接口,类似于子类继承父类,因此,接口类型的变量与实现类的对象之间,也可以构成多态引用。通过接口类型的变量调用方法,最终执行的是你new的实现类对象实现的方法体。

  • 24
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值