zoukankan      html  css  js  c++  java
  • 16_接口

    接口

    一. 什么是接口

    微观概念:接口是一种能力

    • 接口的定义:代表了某种能力
    • 方法的定义:能力的具体要求

    宏观概念:接口是一种标准

    • 例如:USB接口

    接口相当于特殊的抽象类,定义方式、组成部分与抽象类类似

    • 使用interface关键字定义接口
    • 没有构造方法,不能创建对象
    • 只能定义:公开静态常量、公开抽象方法

    二. 接口与抽象类的异同

    • 相同:
      • 可编译成字节码文件
      • 不能创建对象
      • 可以作为引用类型
      • 具备object类中所定义的方法
    • 不同:
      • 所有属性都是公开静态常量,隐式使用public static final 修饰
      • 所有方法都是公开抽象方法,隐式使用public abstract修饰
      • 没有构造方法、动态代码块、静态代码块

    三. 接口的应用

    • 经验:java为单继承,当父类的方法种类无法满足子类需求时,可实现接口扩充子类能力
    • 接口支持多实现,可为类扩充多种能力
    • 接口引用:同父类一样,接口也可声明为引用,并指向实现类对象
    • 注意:
      • 仅可调用接口中所声明的方法,不可调用实现类中独有的方法
      • 可强转回实现类本身类型,进行独有方法调用
      • [特殊:通过接口可调用object中的公开方法]
      • 多种不同类型的引用指向同一个对象时,表示看待对象的视角不同
    • 常见关系
      • 类与类
        • 单继承
        • extends 父类名称
      • 类与接口
        • 多实现
        • implements 接口名称1, 接口名称2, 接口名称n
      • 接口与接口
        • 多继承
        • extends 父接口1, 父接口2, 父接口n

    四. 接口的规范

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

    五. 常量接口

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

    • 标记接口中没有包含任意成员,仅仅用作于标记

      • Serializable
      • Cloneable

    六. 接口回调

    • 先有接口的使用者,后有接口的实现者

    七. 接口的好处

    • 程序的耦合度降低
    • 更自然的使用多态
    • 设计与实现完全分离
    • 更容易搭建程序框架
    • 更容易更换具体实现
  • 相关阅读:
    手机号码正则表达式
    POJ 3233 Matrix Power Series 矩阵快速幂
    UVA 11468
    UVA 1449
    HDU 2896 病毒侵袭 AC自动机
    HDU 3065 病毒侵袭持续中 AC自动机
    HDU 2222 Keywords Search AC自动机
    POJ 3461 Oulipo KMP模板题
    POJ 1226 Substrings KMP
    UVA 1455 Kingdom 线段树+并查集
  • 原文地址:https://www.cnblogs.com/MRASdoubleZ/p/14431594.html
Copyright © 2011-2022 走看看