• java接口(interface)


    引入:抽象类是从多个类中抽象出来的模板,若要将这种抽象进行得更彻底,就得用到一种特殊的“抽象类”→ 接口;

    例子:

    生活中听说过的USB接口其实并不是我们所看到的那些插槽,而是那些插槽所遵循的一种规范;而我们看到的那些插槽是根据USB规范设计出来的实例而已,也就说插槽是USB的实例;

    对应不同型号的USB设备而言,他们各自的USB插槽都需要遵循一个规范,遵守这个规范就可以保证插入插槽的设备能与主板正常通信;

    对于同一种型号的主板上的多个USB插槽,他们有相同的数据交换方式,相同的实现细节,可认为他们都是同一个类的不同实例

    我的总结:

    接口只定义了类应当遵循的规范,却不关心这些类的内部数据和其方法内的实现细节.

    接口只规定了这些类里必须提供的方法;从而分离了规范和实现.增强了系统的可拓展性和维护性;

    使用接口的好处,拓展性,维护性更好,所以我们在开发中会经常用到接口.(相当于定义了一种标准)

    接口,类,对象示意图

    interface定义

    接口定义一种规范,规定一个类必须做什么,但它不管如何具体去做;

    [修饰符] interface 接口名 extends 父接口1,父接口2....

    没有构造方法,不能实例化;

    接口只能继承接口,不能继承类

    接口里没有普通方法,方法全是抽象的;

    接口里的方法默认修饰符是public abstract

    接口里的字段全是全局常量,默认修饰符是public static final;

    接口里的成员包括(主要是前两个)

    全局常量

    公共的抽象方法

    内部类(包括内部类,内部接口,内部枚举类);

    我的总结:

    接口没有构造方法,不能实例化!

    接口里的方法全部是抽象的,没有普通方法,有默认的修饰符 public abstract,必须全部覆写!

  • 相关阅读:
    问题总结
    Https网络安全架构设计
    分布式ID生成策略
    [转]匿名内部类详解
    JAVA名词解释
    MQ实战
    手写SpringMVC实现
    多线程问答
    BIO、NIO实战
    spring中@Value("${key}")值原样输出${key}分析与解决
  • 原文地址:https://www.cnblogs.com/fanweisheng/p/11131572.html
Copyright © 2020-2023  润新知