<分区>
同时 some have asked this question before ,那是在 Java 8 发布之前。
以前,静态成员是不允许的,因为实现细节不能在接口(interface)中定义。这也是为什么什么都不应该是私有(private)的,因为接口(interface)的实现者需要提供实现细节。
这种情况在 Java 8 中有所改变,不是吗?默认方法定义实现细节,静态方法也是如此。那么,为什么仍然不允许这样做呢?
标签 java
<分区>
同时 some have asked this question before ,那是在 Java 8 发布之前。
以前,静态成员是不允许的,因为实现细节不能在接口(interface)中定义。这也是为什么什么都不应该是私有(private)的,因为接口(interface)的实现者需要提供实现细节。
这种情况在 Java 8 中有所改变,不是吗?默认方法定义实现细节,静态方法也是如此。那么,为什么仍然不允许这样做呢?
最佳答案
由于实现中的时间限制。
私有(private)方法最初属于规范,但在 Java 8 开发时由 Brian Goetz 发送给 lambda-spec-experts 邮件列表的一封标题为“Some Pullbacks ”的电子邮件中,私有(private)方法被取消了。
We would like to pull back two small features from the JSR-335 feature plan:
- private methods in interfaces
- "package modifier" for package-private visibility
The primary reason is resourcing ...
关于java - 为什么 Java 8 不允许接口(interface)成员是私有(private)的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29338179/