定义:当一个抽象类中的方法都是抽象的时候,这样可以将该抽象类用另一种形式定义和表示,就是接口interface
属性:定义接口使用的关键字不是class,是interface.类与类之间是继承关系,类和接口之间是继承关系;接口不可以实例化,只能由实现了
接口的子类并覆盖了接口中所有的抽象方法后,该子类才可以实例化
接口中常见的成员,而且这个成员都有固定的修饰符
1、全局常量 :public static final
2、抽象方法:public abstract
从上面可以看出,接口中的成员都是公共权限
接口-多实现:
在Java中不支持多继承,因为会出现调用的不确定性,所以Java将多继承机制进行改良,在Java中变成了多实现。一个类可以实现多个接口(因为
接口中的方法都只有声明,没有方法体)
接口——细节:一个类继承一个类的同时,还可以实现多个接口。因此接口的出现避免了单继承的局限性。接口和接口之间是继承关系,并且接口可以多继承。
接口的特点:接口是对外暴露的规则;接口是对程序的功能拓展;接口的出现降低耦合性;接口可以用来多实现;类和接口之间是实现关系,而且类可以继承一个类
的同时实现多个接口;接口和接口之间同时实现多个接口。
接口和抽象类的异同:
相同点:都是在分析类共同特征时不断向上抽取而来的
不同点:1、抽象类需要被继承,而且只能单继承;接口需要被实现,而且可以多实现。
2、抽象类中可以定义抽象方法和非抽象方法,子类继承后,可以直接使用非抽象方法。接口只能定义抽象方法,必须由子类去实现。
3、抽象类的继承,是is a关系,在定义该体系的基本共性内容。接口的实现时like a关系,在定义体系额外功能。
重点:接口类型对象的引用都指向的是该接口的子类对象(10-1)