Java 接口定义:
1.Java 接口(interface),是声明方法,没有实现方法。是一些特征的集合,高度抽象的集合体。
如图:
2.抽象出来车,跑这个接口方法 ,如果有车被继承,一定要实现跑这个方法,并且是必须要实现的方法。
3.Java 中定义接口的的方式:
[访问控制符 ] interface <接口名称>{
....
}
如: public interface Car{
void run();
}
4. 接口特点
4.1 接口中的成员变量默认都是public static final,必须显示的初始化。这个特性,在日常开发中经常用来进行定义常量。
4.2 接口中的方法默认都是public abstract,没有方法体。
4.3 接口不能被实例化。
4.4 接口只能通过类来实现它,所有方法必须被实现。
4.5 接口可继承多个其它接口,面试经常会问到。
4.6 接口不能实现接口,这个在面试的时候,也经常会犯迷糊。
5. 接口使用的场景
5.1 需要解耦的场景,先抽象一个接口出来。避免出现,在和外部第三方SDK对接的时候,无法对接。如定义成父类的形式,这个时候,第三方像对接到SDK中,就必须继承这个父类,才能进行,这样就出现了入侵第三方SDK的情况。
5.2 需要实现多重继承的场景,由于Java类是单继承父类,多实现接口的。通过抽象成不同的接口,接可以任意组合实现,灵活搭配,提升了效率。
5.3 设计规范场景,利用接口的必须强实现特性,可以一定程度上规范下游设计。 下游必须按照规范来实现接口,实现方法。