在Interface中声明的变量是隐式的
public static final。这就是JLS
9.3所说的:
接口主体中的每个字段声明都是隐式的 public,static和final 。可以为此类字段多余地指定任何或所有这些修饰符。
通读JLS以了解执行此操作的原因。
看看这个SO答案:
接口变量是静态的,因为不能单独实例化Java接口。必须在没有实例的静态上下文中分配变量的值。final修饰符确保分配给接口变量的值是一个真正的常量,不能由程序代码重新分配。

在Interface中声明的变量是隐式的
public static final。这就是JLS
接口主体中的每个字段声明都是隐式的 public,static和final 。可以为此类字段多余地指定任何或所有这些修饰符。
通读JLS以了解执行此操作的原因。
看看这个SO答案:
接口变量是静态的,因为不能单独实例化Java接口。必须在没有实例的静态上下文中分配变量的值。final修饰符确保分配给接口变量的值是一个真正的常量,不能由程序代码重新分配。