为什么接口(interface)中使用的变量是 PUBLIC STATIC FINAL?为什么特别是“静态”?
最佳答案
在接口(interface)中声明的字段无论如何只能是一个常量,那么为什么它取决于您使用哪个实例来访问它呢?
如今,将字段放在接口(interface)中通常是一种糟糕的风格。该接口(interface)旨在反射(reflect)实现它的类的功能——这与常量的概念完全正交。使用接口(interface) 只是 来声明一堆常量当然是一个糟糕的想法。我偶尔会发现让接口(interface)类型公开常量是有用的,这些常量是简单的实现 - 例如,过滤接口(interface)可能有“ALLOW_ALL”和“ALLOW_NONE”字段。
我想您可以设想实现接口(interface)的场景确实实际上向您的类添加了一个实例字段——但这不仅会破坏封装隐式公开,但也通过指定部分实现而不是 API。
关于java - 接口(interface)中的变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1858380/