zoukankan      html  css  js  c++  java
  • JavaSE基础入门_010_接口

    接口

    接口的语法

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

    • 使用 interface 关键字定义接口

    • 只能定义:

      1. 公开静态常量

      2. 公开抽象方法

    interface MyInterface{
        public static final String FIELD = "value";
        public abstract void method();
    }

    接口与抽象类的异同

    • 相同:

      • 可编译成字节码文件。【.class文件】

      • 不能创建对象。【不是类,没有构造方法】

      • 可以作为引用类型。

      • 具备Object类中所定义的方法。

     

    • 不同:

      • 所有属性都是公开静态常量,隐式【默认】使用public static final 修饰。

      • 所有方法都是公开抽象方法,隐式【默认】使用public abstract 修饰。

      • 没有构造方法、动态代码块、静态代码块。

     

    什么是接口

    • 微观概念:接口是一种能力和约定。

      • 接口的定义:代表某种能力。

      • 方法的定义:能力的具体要求。

    • 经验:java为单继承,当父类的方法种类无法满足子类需求时,可实现接口扩充子类能力。

    • 接口支持多实现,可为类扩充多种能力。【implements 关键字实现,逗号“ ,”实现分隔】

     

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

     

     

    接口引用

    • 同父类一样,接口也可声明为引用,并指向实现类对象。

    • 注意:

      • 仅可调用接口中所声明的方法,不可调用实现类中独有的方法。

      • 可强转回实现类本身类型,进行独有方法调用。

     

    接口的多态

    Dog myDog = new Dog();//将狗当够看
    Animal a = myDog;//将狗当动物看
    Runnable r = myDog;//将狗当会跑的东西看
    Swimmable s = myDog;//将狗当会游泳的东西看
    • 多种不同类型的引用指向同一个对象时,表示看待对象的视角不同。

    • 不同引用所能看到的对象范围不同,只能调用自身类型中所声明的部分。

    • 不同引用类型,仅可调用自身类型中所声明的方法。

     

    接口的规范

    • 任何类在实现接口时,必须实现接口中所有的抽象方法,否则此类为抽象类。

    • 实现接口中的抽象方法时,访问修饰符必须是public。

     

    常见关系

    • 类与类:

      • 单继承

      • extends 父类名称

    • 类与接口:

      • 多实现

      • implements 接口名称1 , 接口名称2 , 接口名称n

    • 接口与接口:

      • 多继承【行为的叠加】

      • extends 父接口1,父接口2,父接口n

      • interface IA{
            void m1();
        }
        ​
        interface IB {
            void m2();
        }
        ​
        interface IC extends IB,IA{
            void m3();
        }

     

    常量接口

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

     

    接口回调

    接口回调:现有接口的使用者,后有接口的实现者

     

    回调原理

    正常逻辑:工具的调用者【程序员】---》工具【接口的使用者】---》接口【标准】---》接口的实现者【程序员】

    实际逻辑:接口【标准】---》工具【接口的使用者】---》接口的实现者【程序员】---》工具的调用者【程序员】

     

    接口的好处

    • 程序的耦合度降低。

    • 更自然的使用多态。

    • 设计与实现完全分离。

    • 更容易搭建程序框架。

    • 更容易更换具体实现。

     

    总结

    • 什么是接口:

      • 微观:接口是一种能力和约定。

      • 宏观:接口是一种标准。

    • 接口和类的异同:

      • 没有构造方法,仅可定义公开静态常量与公开抽象方法。

    • 接口的应用:

      • Java为单继承,当父类的方法种类无法满足子类需求时,可实现接口扩充子类能力。

    • 接口的规范:

      • 任何类在实现接口时,必须实现接口中所有的抽象方法,否则此类为抽象类。

      • 实现接口中的抽象方法时,访问修饰符必须是public。

    • 什么是常量接口:

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

    • 什么是接口回调:

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

  • 相关阅读:
    个人永久性免费-Excel催化剂自定义函数实现带命名空间的xml文件元素信息提取
    拥有它从此看英文世界网页效率倍增,不会英文也能闯天下
    【功能迭代】Excel催化剂批量下载邮件信息及正文续篇
    个人永久性免费-Excel催化剂第130波批量下载邮件信息及正文
    [功能发布]Excel集成网页控件,内嵌于Excel单元格区域,可加载任意网页
    使用VBA时不妨借力Excel催化剂的能力,让你的开发更加轻松便捷
    介绍一个不错的轮子:MoreLINQ,原生LINQ增强,尤其适用于数据ETL/数据分析领域。
    [功能更新]PBI催化剂新增批量DAX表达式格式化及模型和报表层度量值使用状况分析
    [网页采集实战]使用Excel催化剂趴一下公众号里的各种软文,越是大号越没底线
    【综合实战】使用Excel催化剂低成本快速轻松搭建复杂灵活的高响应的业务系统-EasyShu激活码发放过程
  • 原文地址:https://www.cnblogs.com/77-is-here/p/12960257.html
Copyright © 2011-2022 走看看