为什么Java中接口变量默认是static和final?
来自 Philip Shaw 的 Java 界面设计常见问题解答:
接口变量是静态的,因为 Java 接口不能以其自身的方式实例化;变量的值必须在不存在实例的静态上下文中分配。 Final 修饰符确保分配给接口变量的值是一个真正的常量,不能由程序代码重新分配。