有时,必须从几个类中派生出一个子类,继承他们所有的属性和方法名单时java不支持多继承,有了接口就可以的到多继承的效果
    有时,必须从几个类中抽取出一些共同的行为特征,而他们之间没有is-a的关系,不仅仅是具有相同的行为特征而已, 如鼠标,键盘,打印机,扫描仪,摄像头,充电器,都有USB连接

    接口就是规范,定义的是一组规则,体现了现实世界中“如果你是/要…则必须能….”的思想,继承是一个“是不是”的关系,而接口实现是“能不能”的关系。
    接口的本质是契约,标准,规范,就像我们的法律一样

    接口(interface)是抽象方法和常量值定义的集合
    接口的特点:
    用interface来定义
    接口中所有的成员变量都默认由public static final修饰的
    接口中所有抽象方法都默认是public abstract修饰的
    接口中没有构造器
    接口采用多继承机制

    接口定义举例
    image.png

    定义java类的语法格式:先写extends 后写implements
    一个类可以实现多个接口,接口也可以继承其他接口
    实现接口的类中必须提供接口中所有方法的具体实现内容,方可实例化,否则仍为抽象类
    接口的主要用途就是被实现类实现
    与继承关系类似,接口与实现类之间存在多态性
    接口和类似并列关系,或者可以理解为一种特殊的类,从本质上讲,接口是一种特殊的抽象类,这种抽象类中只包含常量和方法的定义,而没有变量和方法的实现