接口与继承不同,一个类可以实现(implements)多个接口,而只能继承(extends)一个(抽象)类,实现的接口直接用逗号分隔。当然,该类需要实现这些接口中定义的所有方法。
一个类可以通过implements关键字“实现”一个或多个接口。一个类实现了某个接口后必须实现该接口中定义的所有方法。
例如:
public interface A {
void add(); //等价于public static final void add(){}
}
public class B implements A {
public void add(){
... ...
}
}
接口可作为一种类型声明变量,一个接口类型的变量可以应用实现了该接口的类的对象,通过该变量可以调用该接口中定义的方法(具体的实现类提供了方法的实现)。
接口的继承
接口间可以存在继承关系,一个接口可以通过extends关键字继承另一个接口。子接口继承了父接口中定义的所有方法。
public interface A {
void run();
}
public interface B extends A{
void run();
void walk();
}
class Person implements B {
void run(){
}
void walk(){
}
}