前述
- 接口中没有构造器
- 声明接口:interface
- 在JDK1.8之前,接口只有两部分内容
- 常量:固定修饰符:
public static final
- 抽象方法:固定修饰符:
public abastract
- 注意:修饰符可以省略不写
类和接口的关系
实现关系
- 类实现接口,关键字:implements(实现)
一旦实现一个接口,那么实现类要重写接口中的全部的抽象方法
如果没有全部重写方法,那么这个类可以变成一个抽象类
接口与继承
- java只有单继承,java还有多实现
- 一个类继承其他类,只能直接继承一个父类
- 但是实现类实现接口,可以实现多个接口
- 注意:继承必须写在接口前 —- > 前继承,后实现
![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)
接口不能创建对象
接口访问常量:接口.常量名
接口的作用
接口不是类,接口定义好规则后,实现类负责实现即可
继承与实现
继承:子类对父类的继承
实现:实现类对接口的实现
案例:
~~手机 是不是 照相机
继承:手机 extends 照相机 “is-a”的关系,手机是一个照相机
~~
————————————————————————————————————————————
实现: 手机 implements 拍照功能 “has-a”的关系,手机具备照相的能力
多态的应用场合
父类当做方法的形参,传入具体的子类的对象
父类当做方法的返回值,返回的是具体的子类的对象
———————————————————————————————————-
接口当做方法的形参,传入具体的实现类的对象
接口当做方法的返回值,返回的是具体的实现类的对象