本教程是针对JDK 8编写的。本页面中描述的示例和实践不利用后续版本中引入的改进,并可能使用不再可用的技术。
有关Java SE 9及后续版本中更新的语言功能的概述,请参阅Java语言更改。
有关所有JDK版本的新功能、增强功能和已删除或弃用选项的信息,请参阅JDK发行说明。
接口声明由修饰符、关键字interface、接口名、逗号分隔的父接口列表(如果有)和接口体组成。例如:
public interface GroupedInterface extends Interface1, Interface2, Interface3 {
// 常量声明
// 自然对数的底数
double E = 2.718282;
// 方法签名
void doSomething (int i, double x);
int doSomethingElse(String s);
}
public访问修饰符表示该接口可以被任何包中的任何类使用。如果不指定接口为public,则该接口只能由与接口在同一包中定义的类访问。
接口可以扩展其他接口,就像类可以继承或扩展另一个类一样。但是,类只能继承一个类,而接口可以扩展任意数量的接口。接口声明包括一个逗号分隔的所有扩展的接口的列表。
接口体可以包含抽象方法、默认方法和静态方法。接口中的抽象方法后跟一个分号,而不是花括号(抽象方法没有实现)。默认方法使用default修饰符定义,静态方法使用static关键字定义。接口中的所有抽象、默认和静态方法都隐式地是public,所以可以省略public修饰符。
此外,接口可以包含常量声明。在接口中定义的所有常量值都隐式地是public、static和final的。同样,可以省略这些修饰符。