关于接口接口描述了实现了它的类拥有什么功能。因为Java是强类型的,所以有些操作必须用接口去约束和标记。接口作为类的能力的证明,它表明了实现了接口的类能做什么。类似与class,interface也是java中的一种引用类型。接口中的成员接口中的所有的成员,缺省情况下都是public的,也必须是public,无论是方法,还是字段。因为接口就是规定了API,如果实现的类不公开接口中的API,怎么能叫API呢?一般情况下,接口中可以 定义方法 和 字段。接口中的字段,必须(默认)为 public static final 。在定义的接口中必须初始化,因为是final。它们将成为类中的静态常量字段接口中的方法,必须(默认)为 public abstract 。只需在接口中定义即可,不能实现(让实现了接口的类去实现)。将成为类中的public 实例方法 , 实现了接口的类必须实现接口中定义的方法。定义一个接口interface InterfaceName [extends interface1,interface2] { void foo();
void bar();
//...红色部分是 可选的}接口和类之间的implements关系接口就是用来被实现implements 的 ,不然定义接口也就没意义了。Java中的类只能继承一个父类,但是可以实现多个接口。除了抽象类,普通类必须实现接口中定义的所有方法。当一个类实现了某个接口后,接口可以看做是 是实现了接口的类 的 父类型。利用多态的特性,我们往往选择面向接口编程,而不是面向具体的类,这样可以让程序员关注API而不是内部实现,并提供更大的灵活性。public class Test {
public static void main(String[] args) { Workable[] workers = {
new Teacher(),new Student() };
fireWork(workers);
}
public static void fireWork(Workable[] workers) {
for (int i = 0; i < workers.length; i++) { workers[i].doTask(); }