接口(interface):是抽象方法和常量值的定义的集合。
·本质上说,接口是一种特殊的抽象类,这种抽象类中只包含常量和方法的定义,而没有变量和方法的实现。
例如:
public interface Runner
{
public static final int id = 1;
public abstract void start();
public abstract void run();
public abstract void stop();
}
·接口中定义的属性必须是public static final的,而且接口中定义的方法则必须是public abstract 的,因此这些修饰符可以部分或全部省略:
public interface Runner
{
int id = 1;
void start();
void run();
void stop();
}
·和继承关系类似,Java类可以实现接口,且接口和实现类之间也存在多态性。
[<modifier>] class <name> [extends <superclass>]
[implements <interface> [,<interface>]* ]
{
<declarations>
}
可以实现类似于多重继承的方法。类可以实现多个接口。
接口间的继承:接口可以继承接口。
如:interface A implements B,C
{}
·通过接口可以实现不相关类的相同行为,而不需要考虑这些类之间的层次关系;
·接口可以被多重实现
·接口可以继承其他的接口,并添加新的属性和抽象方法。