前述

  • 接口中没有构造器
  • 声明接口:interface
  • 在JDK1.8之前,接口只有两部分内容
    1. 常量:固定修饰符:public static final
    2. 抽象方法:固定修饰符:public abastract
  • 注意:修饰符可以省略不写
  • image.png

类和接口的关系

实现关系

  • 类实现接口,关键字:implements(实现)
  • 一旦实现一个接口,那么实现类要重写接口中的全部的抽象方法

    image.png

  • 如果没有全部重写方法,那么这个类可以变成一个抽象类

    image.png

接口与继承

  • java只有单继承,java还有多实现
    • 一个类继承其他类,只能直接继承一个父类
    • 但是实现类实现接口,可以实现多个接口
  • 注意:继承必须写在接口前 —- > 前继承,后实现
    1. ![image.png](https://cdn.nlark.com/yuque/0/2021/png/2560440/1629358517503-e9d92f42-7dff-4812-89c5-f4557cccfc98.png#clientId=u46fe1a75-65bb-4&from=paste&height=29&id=u1dea0bde&margin=%5Bobject%20Object%5D&name=image.png&originHeight=57&originWidth=637&originalType=binary&ratio=1&size=36403&status=done&style=none&taskId=u29c8b04f-622d-4ce5-9b39-8e02fe0c4b2&width=318.5)

接口不能创建对象
image.png

接口访问常量:
接口.常量名
image.png


接口的作用

接口不是类,接口定义好规则后,实现类负责实现即可

继承与实现

继承:子类对父类的继承
实现:实现类对接口的实现

案例:
~~手机 是不是 照相机


继承:手机 extends 照相机 “is-a”的关系,手机是一个照相机 ~~
————————————————————————————————————————————
实现: 手机 implements 拍照功能 “has-a”的关系,手机具备照相的能力

多态的应用场合

父类当做方法的形参,传入具体的子类的对象
父类当做方法的返回值,返回的是具体的子类的对象
———————————————————————————————————-
接口当做方法的形参,传入具体的实现类的对象
接口当做方法的返回值,返回的是具体的实现类的对象

接口和抽象类的区别

image.png
image.png