为什么界面变量或字段更精确不是默认的?

时间:2013-08-28 12:35:16

标签: java interface field access-specifier

我的意思是说为什么我不能拥有它的默认访问说明符,请不要告诉我java开发人员就像我知道this link它给了我那些信息..我的真实问题为什么呢不能是默认访问说明符?没有它是私有的,因为那么变量将是无用的..但为什么不默认访问说明符?

3 个答案:

答案 0 :(得分:2)

重要的是接口本身是如何公开的。使接口方法不如接口本身公开是没有意义的。因此,使接口方法公开意味着只要接口是可见的。

访问修饰符用于保护实现细节,但如果您想隐藏某些方法,则不会在界面中公开它。

答案 1 :(得分:2)

首先,所有值都是public,以便可以从任何地方访问。
第二,接口变量是static,因为Java接口本身无法实例化;必须在静态上下文中分配变量的值,其中不存在实例。第三,final修饰符确保分配给接口变量的值是一个无法重新赋值的真常量程序代码。

希望这会回答你的问题。

答案 2 :(得分:0)

您应该记住,界面的主要任务是提供合同。

该合约是未来任何其他业务的基础。所以一切都必须是平等的。

您可以做的是宣布公共,受保护,私有或(defalut)界面。但到目前为止,他的成员(方法,领域)必须是公开的。

他们必须这样做的原因是,如果一些成员可以进入禁区,它将否认每个人应该以平等条件支持合同的主要原则。

如我们所知,会导致界面概念的重新定义。


如果您需要这样的东西,您应该更多地关注系统的架构。