【九】Java接口

所有知识体系文章,GitHub已收录,欢迎Star!再次感谢,愿你早日进入大厂!

GitHub地址: https://github.com/Ziphtracks/JavaLearningmanual

搜索关注微信公众号“码出Offer”,送你学习福利资源!


目录


一、什么是接口
二、接口与类的异同
三、接口的规范
四、接口的应用
五、常量接口
六、接口回调
七、接口的好处
八、接口的知识总结


思维导图参考:【九】Java接口思维导图


【习题与详解】
(封装、继承、多态、接口)创建三个类,组成一个继承树,表示游戏中的角色练习题
【经典接口回调案例案例】
探究Comparable接口中CompareTo的方法,即其中的Arrays.sort排序底层原理(利接口回调来对学生数组中的对象信息排序)


一、什么是接口

接口的语法

接口相当于特殊的抽象类,定义方式、组成部分与抽象类相似
【九】Java接口_第1张图片

什么是接口呢?

  • 微观概念: 接口是一种能力和约定
    • 接口的定义: 代表了某种能力
    • 方法的定义: 能力的具体要求
  • 经验: Java为单继承,当父类的方法和无法满足子类需求时,可以实现接口扩充子类能力
  • 注意: 接口支持多实现,可以为类扩充多种能力

二、接口与类的异同

相同点

  • 可编译成字节码文件
  • 不能创建对象
  • 可以作为引用类型
  • 具备Object类中所定义的方法

不同点

  • 所有属性都是公开静态常量,隐式使用public static final 修饰
  • 所有方法都是公开抽象方法,隐式使用public abstract 修饰
  • 没有构造方法、动态代码块、静态代码块

三、接口的规范

接口的规范

  • 任何类在实现接口时,必须实现接口中所有的抽象方法,否则此类为抽象类
  • 实现接口中的抽象方法时,访问修饰符必须是public

接口引用

  • 同父类一样,接口也可以声明为引用,并指向实现类对象
  • 注意:
    • 仅可调用接口中所声明的方法,不可以调用实现类中独有方法
    • 可强转回实现类本身类型,进行独有方法调用

四、接口的应用

接口的多态

【九】Java接口_第2张图片
【九】Java接口_第3张图片

常见关系

  • 类与类:
    • 单继承
    • extends 父类名称
  • 类与接口:
    • 多实现
    • implements 接口名称1,接口名称2,接口名称3…
  • 接口与接口:
    • 多继承
    • extends 父接口1,父接口2,父接口3…

五、常量接口

常量接口

  • 将多个常用与表示状态或固定值得变量,以静态常量的形式定义在接口中统一管理,提高代码可读性

六、接口回调

再看接口回调之前再一次理解什么是接口如下:

  • 图像意为:
  • 先有接口的使用者,后有接口的实现者
  • 宏观概念:接口是一种标准
    【九】Java接口_第4张图片

七、接口的好处

  • 程序的耦合度降低
  • 更自然的使用多态
  • 设计与实现完全分离
  • 更容易搭建程序框架
  • 更容易更换具体实现

八、总结

接口(interface)是与类并行的一个概念

  1. 接口可以看作是一个特殊的抽象类,是常量与抽象方法的一个集合,不能够包含变量、一般的方法
  2. 接口是没有构造器的
  3. 接口定义的就是一种功能,此功能可以被类所实现(implements),比如:class CC extends DD implements AA
  4. 实现接口的类,必须要重写其中的所有的抽象方法,方可实例化,若没有重写所有的抽象方法,则此类仍为一个抽象类
  5. 类可以实现多个接口,但是java中的类的继承是单继承的
  6. 接口与接口之间也是继承的关系,而且可以实现多继承

【九】Java接口_第5张图片

你可能感兴趣的:(《JavaSE基础》,java,接口)