美文网首页
接口interface

接口interface

作者: 最爱的Tammy小姐 | 来源:发表于2017-08-20 13:45 被阅读0次

    接口定义

    当一个抽象类中的方法都是抽象的时候,这时可以将该抽象类用另一种形式定义和表示,就是接口(interface)。

    定义接口使用的关键字不是class,是interface.

    对于接口当中常见的成员,而且这些成员都有固定的修饰符。

    1. 全局常量:public static final

    2. 抽象方法:public abstract

    固定修饰符可省略,系统会默认自动帮忙补齐。即可写成 int age; void show1();void show2();

    实现

    类与类之间是继承关系(extends),类与接口之间是实现关系(implements)。

    接口不可以实例化,只能由实现了接口的子类,并覆盖了接口中所有的抽象方法后,该子类才可以实例化。否则这个子类就是一个抽象类。

    多实现

    在java中,不直接支持多继承,因为会出现调用的不确定性。所以java将多继承机制进行了改良,在java中变成了多实现。即一个类可以实现多个接口。

    细节:

    一个类在继承另一个类的同时,还可以实现多个接口。

    接口的出现避免了单继承的局限性。

    接口与接口之间是继承关系,而且接口可以多继承。

    原理:多继承取决于方法体,接口没有方法体,所以可以支持多继承。但类不可以,方法体导致运行调用的不确定性。

    接口特点

    1. 接口是对外暴露的规则

    2. 接口是程序的功能扩展

    3. 接口的出现降低耦合性(解耦性)

    4. 接口可以用来多实现

    接口与抽象类的异同点

    相同点:

    都是不断向上抽取而来的

    不同点:

    1. 抽象类需要被继承,而且只能单继承;

    接口需要被实现,而且可以多实现。

    2. 抽象类中可以定义抽象方法和非抽象方法,子类继承后可以直接使用非抽象方法;

    接口中只能定义抽象方法,必须由子类去实现。

    3, 抽象类的继承是is a 关系。在定义该体系的基本共性内容;

    接口的实现是like a 关系,在定义体系的额外功能。 

    在不同的问题领域中,有不同的分析方式。

    敲黑板的练习:

    相关文章

      网友评论

          本文标题:接口interface

          本文链接:https://www.haomeiwen.com/subject/mjlfdxtx.html