zoukankan      html  css  js  c++  java
  • 接口

    参考:https://www.liaoxuefeng.com/wiki/1252599548343744/1260456790454816
    1. 什么是接口
    interface是比抽象类还要抽象的纯抽象方法的集合,因为它连字段都不能有。在抽象类中,抽象方法本质上是定义高层类的接口规范,从而保证所有子类都有相同的接口实现,这样,多态就能发挥出威力。更极端一点,如果一个抽象类没有字段,所有方法全部都是抽象方法,就可以把该抽象类改写为接口:interface。因为接口定义的所有方法默认都是public abstract的,所以这两个修饰符不需要写出来(写不写效果都一样)。
    2. 抽象类与接口的异同
    当一个具体的class去实现一个interface时,需要使用implements关键字。在Java中,一个类只能继承自另一个类,不能从多个类继承。但是,一个类可以实现多个interface。

    abstract class interface
    继承 只能extends一个class 可以implements多个interface
    字段 可以定义实例字段 不能定义实例字段
    抽象方法 可以定义抽象方法 可以定义抽象方法
    非抽象方法 可以定义非抽象方法 可以定义default方法

    3. default方法
    default方法是指在interface的方法前添加default关键字。
    default方法的目的是,当我们需要给接口新增一个方法时,会涉及到修改全部子类(因为子类要实现接口中的所有方法)。如果新增的是default方法,那么子类就不必全部修改,只需要在需要覆写的地方去覆写新增方法。

  • 相关阅读:
    sharedWorker 实现多页面通信
    cookie跨域那些事儿
    event loop整理
    tsConfig/baseUrl -- 一键告别相对路径import
    vscode配置golang开发环境手把手描述篇
    Vue学习笔记二
    Vue学习笔记
    echarts迁移图动态加载
    病虫害可视化监测平台(一)
    昆虫识别开发进展APP(四)
  • 原文地址:https://www.cnblogs.com/21summer/p/13255428.html
Copyright © 2011-2022 走看看