本教程是针对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
的。同样,可以省略这些修饰符。