我知道 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/