1.概念
接口是功能的集合,它比抽象类更加抽象。
它只描述了所具有的功能,并没有具体的实现。可以看成一种规范。
2.特点
(1)接口使用interface关键字,而不是class
(2)接口中只有抽象类和常量
(3)接口不能实例化,没有意义
(4)接口不能提供构造器
3.常量与方法
常量:
默认使用修饰词为:public static final
方法:
默认使用修饰词为:public abstract
4.接口的实现
(1)子类需要实现接口中的所有抽象方法
(2)使用implements关键字进行实现
(3)如果子类没有实现所有抽象方法,那么子类需要使用abstract修饰
(4)子类可以实现多个接口,接口间使用逗号分开
5.接口间的继承
(1)接口与接口之间可以使用继承,子接口继承父接口的抽象方法
(2)支持多继承
![类、抽象类、接口的关系](https://i-blog.csdnimg.cn/blog_migrate/4fed4601c692c300dad9ff0e1a8460b7.png)
6.接口与抽象类的相同点与区别
相同点:
(1)都位于继承的顶端,用于被其他类实现或继承;
(2)都不能直接实例化对象;
(3)都包含抽象方法,其子类都必须覆写这些抽象方法;
区别:
(1)抽象类可为部分方法提供实现,避免子类重复实现,提高复用性;
而接口只能提供抽象方法
(2)一个类只能有一个直接父类,但是可以实现多个接口
(3)抽象类中可以提供构造器,而接口中不能