接口:可以理解为是一种特殊的抽象类
抽象类:是一个事物所具有的功能
接口:是一个事物额外的功能
二者之间的选择: 推荐使用接口
如果父类的功能是有功能体实现的,也有只定义功能子类可以具有的功能但是没有实现,可以抽象类
-
接口的优点:
1、提高代码的复用性
2、解耦
3、定义编程规范
4、接口多实现使用interface定义接口
-
组成:
-
JDk1.7及之前:
属性:public static final公共的静态的常量
修饰符public static final可以省略、默认方法:public abstract 公共的抽象的方法
修饰符public abstract是默认的,可以不写 -
注意:
1、接口不能实例化
2、接口需要实现,实现接口使用关键字implements,实现了接口就拥有了接口中的功能(与继承很像)
3、接口的使用:
1)具体的实现类:实现了接口,就要重写这个接口中的所有抽象方法+按需新增
2)抽象的实现类:重写部分抽象功能+按需新增
4、类只能实现接口,不能继承接口,但是类只能继承类,不能实现类
类单继承类,类多实现接口
5、接口不能继承和实现类,接口只能继承接口,不能实现接口,接口可以多继承接口
6、一个类要先继承后实现 -
JDk1.8后新增特性
1、静态方法
使用:只能通过接口名字调用<