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方法,那么子类就不必全部修改,只需要在需要覆写的地方去覆写新增方法。

  • 相关阅读:
    二分数组的一些搜索方法
    获取图像lbp特征
    字符串的模糊搜索
    Python numpy读取图片方法
    红方人员实战手册转载
    libuv的交叉编译
    Gogs的交叉编译与配置
    配置PHP8与Nginx并启动nextcloud
    hi3798mv100SDK上DropBear的交叉编译
    Nginx的交叉编译
  • 原文地址:https://www.cnblogs.com/21summer/p/13255428.html
Copyright © 2011-2022 走看看