一、接口特征
1、接口是一种引用类型
2、接口中只能出现常量和抽象方法,常量(public static final )和抽象方法(public abstract)都可以省略
3、接口其实是一个特殊的抽象类,特殊在接口是完全抽象的,没有构造函数也无法被实例化
4、接口和接口之间可以多继承,一个类可以实现多个接口
5、一个非抽象的类实现接口,需要将接口中所有的方法“实现、重写、覆盖”
二、接口和抽象区别
相同点:
都是不断向上抽取的
不同点:
1、抽象类需要被继承,而且只能继承
接口需要被实现,而且可以多实现
2、抽象类中可以定义抽象方法和非抽象方法,子类继承后可以直接使用非抽象方法
接口中只能定义抽象方法,必须有子类去实现
3、抽象类的继承是is-a关系,再定义该体系的基本共性内容
接口的实现是is-like-a关系,再定义体系额外的功能