-2

我的意思是说为什么我不能拥有它的默认访问说明符,请不要告诉我 java 开发人员这样做我知道这个链接它给了我这些信息..我真正的问题为什么它不能是默认访问说明符?没有它私有是有意义的,因为 then 变量将毫无用处..但是为什么不使用默认访问说明符呢?

4

3 回答 3

2

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

希望这能回答你的问题。

于 2013-08-28T12:52:33.073 回答
2

重要的是接口本身的公开程度。让接口方法的公共性低于接口本身是没有意义的。因此,将接口方法公开意味着只要接口存在,它们就可见。

访问修饰符是用来保护实现细节的,但是如果你想隐藏一些方法,你就不会在接口中暴露它。

于 2013-08-28T12:39:07.800 回答
0

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

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

您可以做的是声明一个公共的、受保护的、私有的或(默认)接口。但就他的成员(方法、字段)而言,必须是公开的。

他们必须这样做的原因是,如果某个成员可以在禁区内使用,它将否定每个人都应该支持平等条款合同的主要原则。

如我们所知,将导致重新定义接口的概念。


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

于 2013-08-28T12:54:19.710 回答