在Java中接口主要用于声明一组类的公共操作的接口。
接口由一组常量和一组抽象方法组成。接口中不包括变量和有具体实现的方法。(JDK1.8以前没有,JDK1.8接口中可以有具体方法)
Java中不直接支持类间的多重继承,但接口支持多重继承,即一个接口可以有一个以上的父接口。
接口仅仅规定了一组功能的对外协议和规范,而并没有实现这组功能,这个功能的真正实现是在实现这个接口的各个子类中完成的,即由这些子类来具体定义接口中抽象方法的方法体。
接口中声明的数据成员只能是public、static和final型的,所以这些修饰符在接口中可缺省不写。同样,所有声明在接口中的方法默认为public和abstract,所以不需用修饰符限定它们。
如果一个类实现一个接口,那么这个类应提供在接口中声明的所有方法的实现。那么这个类才是具体的类,否则它还是一个抽象的类。