java - 接口(interface)中的变量

标签 java interface static

为什么接口(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/

相关文章:

java - 理解Java合并排序的排序部分

java - Ubuntu 上的 Netbeans + tomcat

Java-如何在 JTable 上动态初始化行?

java - JTable 不显示输出

c++ - 我可以将一个对象类转换为它在其中实现的接口(interface)指针吗?

java - 处理一个 Spring bean/接口(interface)的多个实现

c# - 实现通用工厂方法

android - Fragments 文档中的莎士比亚是什么?

c++ - 从函数返回指向局部变量的静态指针

c++ - C++ 编译时的静态数组