• 16_接口


    接口

    一. 什么是接口

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

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

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

    • 例如:USB接口

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

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

    二. 接口与抽象类的异同

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

    三. 接口的应用

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

    四. 接口的规范

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

    五. 常量接口

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

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

      • Serializable
      • Cloneable

    六. 接口回调

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

    七. 接口的好处

    • 程序的耦合度降低
    • 更自然的使用多态
    • 设计与实现完全分离
    • 更容易搭建程序框架
    • 更容易更换具体实现
  • 相关阅读:
    图论03—随意两点间最短距离及路径(改进)
    <转>Openstack ceilometer 宿主机监控模块扩展
    【从零学习openCV】IOS7下的openCV开发起步(Xcode5.1.1&openCV2.49)
    零基础学python-6.2 共享引用
    hdu 2191 悼念512汶川大地震遇难同胞——珍惜如今,感恩生活
    Android与设计模式——单例(Singleton)模式
    SpringMVC+Jquery -页面异步载入数据
    hdoj Let the Balloon Rise
    openStack使用宿主机监控
    winscp自动执行脚本
  • 原文地址:https://www.cnblogs.com/MRASdoubleZ/p/14431594.html
Copyright © 2020-2023  润新知