java - 为什么接口(interface)变量是public

标签 java interface

我知道 Java 接口(interface)变量默认是 public static 和 final。

通过看到这个 discussion,我明白了为什么它们是静态的和最终的

但我没有解释为什么默认情况下接口(interface)变量是公共(public)的。

如果有人知道为什么接口(interface)变量总是公开的以及为什么我们不能在接口(interface)中有一个 protected 或默认的变量背后的原因,请解释一下。

请不要让我用谷歌搜索它,因为我已经用谷歌搜索了两个多小时,而且任何网站都没有明确解释为什么默认情况下变量是公开的。

我看过下面的 blog也没有关于我的查询的明确信息。

最佳答案

界面是“行为蓝图”。与类不同,它们不应该(也没有)有状态。

由于实例变量表示对象的状态,接口(interface)没有实例变量(无论是私有(private)的还是公共(public)的)。 由于私有(private)静态变量表示类的状态,因此它们也没有私有(private)静态变量。

关于java - 为什么接口(interface)变量是public,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32964528/

相关文章:

c# - 对集合的一部分执行接口(interface)方法时,项目从 Ienumerable 列表中消失

java - 基于磁盘的列表实现

java - SQL 请求类型

java - 扫描仪元件异常

java - 当 json 属性名称根据请求发生变化时,使用restTemplate getForObject

go - go编程语言中的任何类型和实现泛型列表

c# - 优化查找所有实现 IInterface<T> 的类以及使用特定类型显式实现它的类

Java:无限循环

c# - 接口(interface)版本控制问题

c++ - 防止模板强制方法中的隐式转换