JDK8之前,interface中可以定义常量和抽象方法,访问修饰符是public. public interface A { /** a1和a2写法是等价的 */ public static final int a1 = 0; int a2 = 0; /** methodA1和methodA2写法是等价的 */ public abstract void methodA1(); void methodA2(); } JDK8起,允许我们在interface中使用static和default修饰方