接口interface

2017-08-20  本文已影响0人  最爱的Tammy小姐

接口定义

当一个抽象类中的方法都是抽象的时候,这时可以将该抽象类用另一种形式定义和表示,就是接口(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 关系,在定义体系的额外功能。 

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

敲黑板的练习:

上一篇下一篇

猜你喜欢

热点阅读