定义接口

原文: https://docs.oracle.com/javase/tutorial/java/IandI/interfaceDef.html

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

  1. public interface GroupedInterface extends Interface1, Interface2, Interface3 {
  2. // constant declarations
  3. // base of natural logarithms
  4. double E = 2.718282;
  5. // method signatures
  6. void doSomething (int i, double x);
  7. int doSomethingElse(String s);
  8. }

public访问说明符表示该接口可以被任何包中的任何类使用。如果未指定接口是公共接口,则只能在与接口相同的程序包中定义的类上访问您的接口。

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

接口主体

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

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