zoukankan      html  css  js  c++  java
  • java接口(interface)

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

    例子:

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

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

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

    我的总结:

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

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

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

    接口,类,对象示意图

    interface定义

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

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

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

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

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

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

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

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

    全局常量

    公共的抽象方法

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

    我的总结:

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

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

  • 相关阅读:
    HDU1213How Many Tables并查集
    Redis新的存储模式diskstore
    GPFS文件系统笔记
    redis持久化
    360安全卫士qurl.f.360.cn分析
    [原创]解决DataSet的GetXml()方法空列不返回问题
    在多台服务器上简单实现Redis的数据主从复制
    史航416随笔
    史航416实验1总结
    史航416第二次作业总结
  • 原文地址:https://www.cnblogs.com/fanweisheng/p/11131572.html
Copyright © 2011-2022 走看看