前述

  • 接口中没有构造器
  • 声明接口:interface
  • 在JDK1.8之前,接口只有两部分内容

    1. 常量:固定修饰符:public static final
    2. 抽象方法:固定修饰符:public abastract
  • 注意:修饰符可以省略不写

  • 16、接口(JDK1.8之前) - 图1

类和接口的关系

实现关系

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

16、接口(JDK1.8之前) - 图2

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

16、接口(JDK1.8之前) - 图3

接口与继承

  • java只有单继承,java还有多实现

    • 一个类继承其他类,只能直接继承一个父类
    • 但是实现类实现接口,可以实现多个接口
  • 注意:继承必须写在接口前 —- > 前继承,后实现
  1. ![20220427191008](https://xleixz.oss-cn-nanjing.aliyuncs.com/typora-img/20220427191008.png)

接口不能创建对象
16、接口(JDK1.8之前) - 图4

接口访问常量:
接口.常量名
16、接口(JDK1.8之前) - 图5


接口的作用

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

继承与实现

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

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

~~
~~继承:手机 extends 照相机 “is-a”的关系,手机是一个照相机
~~


实现: 手机 implements 拍照功能 “has-a”的关系,手机具备照相的能力

多态的应用场合

父类当做方法的形参,传入具体的子类的对象父类当做方法的返回值,返回的是具体的子类的对象

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

接口和抽象类的区别

16、接口(JDK1.8之前) - 图6
16、接口(JDK1.8之前) - 图7