接口体中包含成员变量和成员方法,但存在一些约束:

成员变量:

  • 接口中的成员变量默认是 publicstaticfinal 类型的,即都是静态常量,必须显式初始化。

成员方法:

  • 接口中的方法默认是 publicabstract 类型的,即都是抽象方法,没有方法体,不提供具体实现。即使省略 abstract 关键字,系统也会自动添加。
public interface Computable { 
    public static final double PI = 3.1415926; 
    public abstract double sum(double x, double y); 
    double sub(double x, double y); // 即使缺省abstract,系统会自动添加
}

其他限制:

  • 接口没有构造方法,不能创建接口的对象。