定义interface

interface声明由修饰符,关键字interface,interface名称,父interface(如果有)的逗号分隔列表以及interface主体组成。例如:

public interface GroupedInterface extends Interface1, Interface2, Interface3 {

    // constant declarations
    
    // base of natural logarithms
    double E = 2.718282;
 
    // method signatures
    void doSomething (int i, double x);
    int doSomethingElse(String s);
}

public访问说明符表示该interface可由任何包中的任何类使用。如果未指定该interface是公共的,则该interface只能由与该interface在同一包中定义的类访问。

一个interface可以扩展其他interface,就像类的子类一样或扩展另一个类。但是,尽管一个类只能扩展一个其他类,但是一个interface可以扩展任何数量的interface。interface声明包括它扩展的所有interface的逗号分隔列表。

interface主体

interface主体可以包含abstract methodsdefault methodsstatic methods。interface内的抽象方法后跟分号,但不使用大括号(抽象方法不包含实现)。默认方法使用default修饰符定义,静态方法使用static关键字定义。interface中的所有抽象,默认和静态方法都是public隐式的,因此您可以省略public修饰符。

另外,interface可以包含常量声明。interface中定义的所有常量值都隐式为publicstaticfinal。再一次,您可以省略这些修饰符。